Queremos añadir el campo "Etiqueta BIO" que nos permitirá distinguir este tipo de producto en la parrilla de declinación de varias tiendas. En nuestro ejemplo, este campo se encuentra en la tabla ps_label ( id_product_attribute ; label_bio (0/1); id_shop ).
Esto nos permitirá :
Para añadir el campo a la lista de campos disponibles para su cuadrícula de MB - variaciones, haga clic en el botón desde la interfaz "Añadir campo", e introduzca la siguiente información:
¿Cuál es la identificación 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: -
Tipo: opciones múltiples
En el panel de propiedades avanzadas de la derecha:
- seleccione el menú SQL Select e introduzca :
return ' ,lab.label_bio';
- seleccione el menú SQL Leftjoin e introduzca:
return ' LEFT JOIN '._DB_PREFIX_.'label lab ON (lab.id_product_attribute = pas.id_product_attribute AND lab.id_shop=pas.id_shop) ';
- seleccione el menú de PHP definition e introduzca :
$product_attr['label_bio'] = $product_attr_by_shop['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_shop = ".(int)$id_shop."
AND 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 e introduzca:
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.