Nous souhaitons inclure dans la grille des déclinaisons de Store Commander, le champ du module Activation/Désactivation de déclinaisons'
Pour ajouter le champ à la liste des champs disponibles pour votre grille déclinaisons, cliquez sur le bouton de l'interface "Ajout de champ", puis saisissez les informations suivantes :
Quel est l'ID du champ ? used
SC crée le champ, il faut maintenant renseigner dans la grille :
ID : used
Nom du champ : Désactivé
Table : Another table
Type: Choix multiples
Dans le panneau des Propriétés Avancées à droite :
- sélectionner le menu Liste de choix et renseignez :
return array(1=>_l('Yes'), 0=>_l('No'));
- sélectionner le menu SQL Select et renseignez :
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 ';
- sélectionner le menu PHP definition et renseignez :
$combArray[$combinaison['id_product_attribute']]['used'] = $combinaison['used'];
- sélectionner le menu PHP onAfterUpdateSQL et renseignez :
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);
}
}
Fermez la fenêtre d'édition des champs personnalisés.
Le nouveau champ est présent dans la liste des champs disponibles, et vous pouvez l'ajouter à votre grille déclinaisons.
Pour ajouter ce champ à la propriété Déclinaisons Multi-produits
Pour ajouter ce champ à l'import de Store Commander
Après avoir sélectionné Catalogue Import Produits, cliquez sur pour ajouter le champ et renseigner les données suivantes :
ID : used
Nom : _déclinaison - utilisée
Dans le panneau des propriétés avancées : After import process
if ($switchObject=='used') {
$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);
}
}
Pour ajouter ce champ à l'export de Store Commander
Après avoir sélectionné Catalogue Export Produits, cliquez sur pour ajouter le champ et renseigner les données suivantes :
ID : used
Nom : _déclinaison - utilisée
Dans le panneau des propriétés avancées : Champs des déclinaisons
if ($switchObject == '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;
$res= Db::getInstance()->ExecuteS($sql);
if (count($res) > 0) {
$field = "1";
}
}