Combinaciones : Añadir un campo de una tabla externa a las tablas de combinaciones

Acceda a la parte PRO de la herramienta para añadir campos personalizados:

Para acceder a la sección PRO, haga clic en el icono + de la columna de la derecha titulada «Campos disponibles».

Asegúrese de seleccionar correctamente la cuadrícula en la que desea añadir su campo; en este ejemplo, será la rejilla de combinaciones:

Añadir el campo

Haga clic en el icono «Añadir» para crear la línea del nuevo campo e indique su ID label_bio (debe coincidir exactamente con el nombre del campo en la base de datos).

La línea del campo se crea en la lista. Ahora hay que introducir la información:

Tabla

Otra tabla

Nombre

Label bio

Tipo

Opción múltiple

Actualizar las combinaciones

No

En el panel de propiedades avanzadas de la derecha:

- Copie/pegue el contenido siguiente en el menú SQL Select e guarde:

return ' ,lab.label_bio';

- Copie/pegue el contenido siguiente en el menú SQL Leftjoin e guarde:

return ' LEFT JOIN '._DB_PREFIX_.'label lab ON (lab.id_product_attribute = pa.id_product_attribute) ';

- Copie/pegue el contenido siguiente en el menú PHP definition e guarde:

$combArray[$combinaison['id_product_attribute']]['label_bio'] = $combinaison['label_bio'];

- Copie/pegue el contenido siguiente en el menú PHP onAfterUpdateSQL e guarde:

if (isset($_POST['label_bio']))
{
    $the_id = (int) Db::getInstance()->getValue('SELECT id_product_attribute 
                                                    FROM '._DB_PREFIX_.'label 
                                                    WHERE id_product_attribute = '.(int) $id_product_attribute);
    if ($the_id)
    {
        $sql = 'UPDATE '._DB_PREFIX_.'label 
                SET label_bio = '.(int) Tools::getValue('label_bio', 0).' 
                WHERE id_product_attribute='.(int) $id_product_attribute;
    }
    else
    {
        $sql = 'INSERT INTO '._DB_PREFIX_.'label (`id_product_attribute`,`label_bio`) 
                VALUES ('.(int) $id_product_attribute.', '.(int) Tools::getValue('label_bio', 0).')';
    }
    Db::getInstance()->execute($sql);
}

- Si desea añadir una opción Sí/No, seleccione el menú Lista de opciones e guarde:

return [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.