gusman126 Posted September 7, 2018 Share Posted September 7, 2018 (edited) Hola a todos. Estoy haciendo un modulo el cual se debe poder seleccionar de un select multiple, las caracteristicas asociadas array ( 'type' => 'select', 'label' => $this->l('Features:'), 'desc' => $this->l('Elije la caracteristica para mostrar la barra'), 'name' => 'PROGRESSBARFEATURE_IDS_FEATURE', 'id' => 'PROGRESSBARFEATURE_IDS_FEATURE', 'required' => false, 'multiple' => true, 'options' => array( 'query' => self::feats(), 'id' => 'optionValue', 'name' => 'optionDisplay' ) ), Consigo que se guarde la informacion en la base de datos usando el $str = implode(';',Tools::getValue('PROGRESSBARFEATURE_IDS_FEATURE')); Configuration::updateValue('PROGRESSBARFEATURE_IDS_FEATURE', $str); El problema que tengo es que me da error al recuperar la información y volverla a añadir al selector Puedo hacerlo por javascript , y que se queden seleccionados , $features = Configuration::get('PROGRESSBARFEATURE_IDS_FEATURE'); $this->context->smarty->assign('features', $features); features = '{$features}'; splitValues = features.split(';'); multi = document.getElementById('PROGRESSBARFEATURE_IDS_FEATURE'); multi.value = null; multiLen = multi.options.length; for (var i = 0; i < multiLen; i++) { if (splitValues.indexOf(multi.options[i].value) >= 0) { multi.options[i].selected = true; } } }); pero el propio sistema de prestashop, no me selecciona y por lo tanto da un error Undefined index: PROGRESSBARFEATURE_IDS_FEATURE[] Alguna ayuda??? He mirado otros modulos que lo hacen, pero en versiones de PS 1.6 No me sirve el controlador de adminwharehouse porque en el 1.7 no existe he probado a poner en el nombre del campo [] , tampoco Edited September 7, 2018 by gusman126 (see edit history) Link to comment Share on other sites More sharing options...
gusman126 Posted September 7, 2018 Author Share Posted September 7, 2018 Bueno después de ver, y revisar el foro había una respuesta que funciona El nombre debe tener [] 'name' => 'PROGRESSBARFEATURE_IDS_FEATURE[]', en la funtion postProcess() Configuration::updateValue('PROGRESSBARFEATURE_IDS_FEATURE', implode(';',Tools::getValue('PROGRESSBARFEATURE_IDS_FEATURE'))); y luego para que no de error al leer los datos y que los muestre en function renderForm() añadir casi al final despues de $helper->tpl_vars ..... $helper->tpl_vars['fields_value']['PROGRESSBARFEATURE_IDS_FEATURE[]'] = explode(';', Configuration::get('PROGRESSBARFEATURE_IDS_FEATURE')); Si por casualidad da error al guardar o no guarda bien, añadimos "'" al principio y al final para que este dentro de ' $helper->tpl_vars['fields_value']['PROGRESSBARFEATURE_IDS_FEATURE[]'] = explode(';',"'". Configuration::get('PROGRESSBARFEATURE_IDS_FEATURE')."'"); por supuesto el codigo java se elimina Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now