Multiselect Prestashop

Los multiselect en prestashop se guardan como un array serializado, es decir como un string. En el siguiente ejemplo vemos como hacer una pantalla de configuración para un módulo en el que se permite seleccionar múltiples estados para una configuración dada.

ps_logo_share

 


Primero descarga el archivo. Luego analizaremos las partes.

Método displayForm y el multiselect en prestashop

En el método diplayForm obetenemos todos los estados y generamos un array multidimiensional con el id_order_state y el name que es lo que se muestra en el select. Además hay que pasarle el array que acabamos de generar con los ids y los nombres que mostraremos especificando cuales son los campos id y nombre dentro del array.
Al select hay que especificarle la opción multiple a true y su nombre debe tener al final la notación de array ([])    , pero ojo la variable se guarda sin corchetes. Teniendo en cuenta que al guardar lo hemos serializado, para cargar el select debemos deserializar:
$helper->fields_value[‘JUAN_ESTADOS_ERROR[]’] = unserialize(Configuration::get(‘JUAN_ESTADOS_ERROR’));

Método getContent

En este método es donde se guarda:
$estados = Tools::getValue(‘JUAN_ESTADOS_ERROR’);
Configuration::updateValue(‘JUAN_ESTADOS_ERROR’, serialize($estados));
como se puede observar en el mismo, estamos serializado los estados.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s