Combinaciones: Añadir el campo 'desactivar combinaciones'

Deseamos incluir en la parrilla de declinaciones del Comandante de la Tienda, el campo del módulo 'Activación/Desactivación de declinaciones'.

El campo correspondiente se puede integrar en varios lugares de Sc:

  • la propiedad de combinaciones

  • la importación csv

  • la exportación csv

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 a la propiedad de combinaciones

Haga clic en el icono «Añadir» para crear la línea del nuevo campo e indique su ID used.

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

Tabla

Otra tabla

Nombre

Desactivado

Tipo

Opción múltiple

Actualizar las combinaciones

No

A continuación, hay que añadir los elementos de configuración técnica, en las propiedades específicas, en el panel de la derecha:

- Copie/pegue el contenido siguiente en el menú Lista de opciones y guarde :

return array(1=>_l('Yes'), 0=>_l('No'));

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

return ', IF( (SELECT COUNT(tsad.id_tot_switch_attribute_disabled)                 FROM '._DB_PREFIX_.'tot_switch_attribute_disabled tsad                 WHERE tsad.id_product_attribute=pa.id_product_attribute AND id_shop='.SCI::getSelectedShop().')>0, 1, 0 ) as used ';

- Copie/pegue el contenido siguiente en el menú PHP Definition y guarde :

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

- Copie/pegue el contenido siguiente en el menú PHP enAfterUpdateSQL y guarde:

if (isset($_POST['used']))
{
    $id_shop = SCI::getSelectedShop();
    $sql = 'SELECT id_product_attribute 
            FROM '._DB_PREFIX_.'tot_switch_attribute_disabled 
            WHERE id_product_attribute='.(int) $id_product_attribute.' 
            AND id_shop='.(int) $id_shop;
    $exist = Db::getInstance()->getValue($sql);
    $used = (int) $_POST['used'];
    if ($exist && empty($used))
    {
        $sql = 'DELETE FROM '._DB_PREFIX_.'tot_switch_attribute_disabled WHERE id_product_attribute='.(int) $id_product_attribute.' AND id_shop='.(int) $id_shop;
        Db::getInstance()->execute($sql);
    }
    elseif (!$exist && !empty($used))
    {
        $sql = 'INSERT INTO '._DB_PREFIX_.'tot_switch_attribute_disabled (`id_product_attribute`,`id_shop`) VALUES ('.(int) $id_product_attribute.','.(int) $id_shop.')';
        Db::getInstance()->execute($sql);
    }
}

Cierre la ventana de edición de campos personalizados.

El nuevo campo está ahora en la lista de campos disponibles, y puede añadirlo a su cuadrícula de declinación.

Añadir el campo al importador

Seleccione el menú: Importación de productos

Haga clic en el icono «Añadir» para crear la línea del nuevo campo e indique su ID used.


Indique el nombre: _combinación - desactivada

A continuación, hay que añadir los elementos de configuración técnica, en las propiedades específicas, en el panel de la derecha:

- seleccione el menú After import process y entre:

if ($switchObject=='used')
{
    $value = $GLOBALS['import_value'];
    $id_shop = SCI::getSelectedShop();
    $sql = 'SELECT id_product_attribute 
            FROM '._DB_PREFIX_.'tot_switch_attribute_disabled 
            WHERE id_product_attribute='.(int) $id_product_attribute.' 
            AND id_shop='.(int) $id_shop;
    $exist = Db::getInstance()->getValue($sql);
    $used = (int) $value;
    if ($exist && empty($used))
    {
        $sql = 'DELETE FROM '._DB_PREFIX_.'tot_switch_attribute_disabled WHERE id_product_attribute='.(int) $id_product_attribute.' AND id_shop='.(int) $id_shop;
        Db::getInstance()->execute($sql);
    }
    elseif (!$exist && !empty($used))
    {
        $sql = 'INSERT INTO '._DB_PREFIX_.'tot_switch_attribute_disabled (`id_product_attribute`,`id_shop`) VALUES ('.(int) $id_product_attribute.','.(int) $id_shop.')';
        Db::getInstance()->execute($sql);
    }
}

Encontrará este nuevo campo en la lista de campos del mapeo de importación.

Añadir el campo al exportador

Seleccione el menú: Exportación de productos

Haga clic en el icono «Añadir» para crear la línea del nuevo campo e indique su ID used.


Indique el nombre: _combinación - desactivada

A continuación, hay que añadir los elementos de configuración técnica, en las propiedades específicas, en el panel de la derecha:

En el panel de propiedades avanzadas de la derecha:

- seleccione el campo Combinations fields y entre:

if (in_array($switchObject, array('used'))) {    $field = 0;    $sql = "SELECT * FROM "._DB_PREFIX_."tot_switch_attribute_disabled WHERE id_product_attribute=" . (int)$id_product_attribute." AND id_shop=".(int)$selected_shops_id;    $exist = Db::getInstance()->ExecuteS($sql);    if (count($res) > 0) {        $field = 1;    }}