Queremos añadir el campo "Etiqueta BIO" que nos permitirá distinguir este tipo de producto en las parrillas. En nuestro ejemplo, este campo se encuentra en la tabla ps_label ( id_product_attribute ; label_bio (0/1) ).
Esto nos permitirá :
Para añadir el campo a la lista de campos disponibles para su cuadrícula de declinación, haga clic en el botón desde la interfaz "Añadir campo", e introduzca la siguiente información:
¿Cuál es el ID del campo? label_bio (debe coincidir exactamente con el nombre del campo en la base de datos)
SC crea el campo, ahora debe rellenar la cuadrícula:
Nombre del campo: Etiqueta BIO
Tabla: Otra tabla
Tipo : Opción múltiple
En el panel de propiedades avanzadas de la derecha:
- seleccione el menú SQL Select y rellene:
return ' ,lab.label_bio';
- seleccione el menú SQL Leftjoin y rellene:
return ' LEFT JOIN '._DB_PREFIX_.'label lab ON (lab.id_product_attribute = pa.id_product_attribute) ';
- seleccione el menú PHP definition y rellene:
$combArray[$combinaison['id_product_attribute']]['label_bio'] = $combinaison['label_bio'];
- seleccione el menú PHP onAfterUpdateSQL y rellene:
if (isset($_POST['label_bio'])){
$sql = "UPDATE "._DB_PREFIX_."label
SET label_bio = ".(int)Tools::getValue('label_bio',0)."
WHERE id_product_attribute=".(int)$id_product_attribute;
Db::getInstance()->Execute($sql);
}
- Si desea añadir una opción Sí/No, seleccione el menú Lista de opciones y rellene:
return array(1=>_l('Yes'), 0=>_l('No'));
Cierre la ventana de edición de los campos personalizados.
El nuevo campo está ahora en la lista de campos disponibles, y puede añadirlo a su cuadrícula de declinación.