Jump to content

Edit History

EISEAL

EISEAL

Bonjour,

Je ne suis pas un expert mais voici une piste qui peut dépanner :

Dans classes/Product.php ajouter cette fonction

    public static function getProductKeywords($id_product)
    {
        // Array avec les mots clé
        $keywords = array("Carte électronique", "Module");

        // Définition de la langue
        $id_lang = Context::getContext()->language->id;

        // Requete SQL pour trouver le nom du produit selon la langue
        $sql = 'SELECT p.`id_product`, pl.`name`
                FROM `'._DB_PREFIX_.'product` p
                '.Shop::addSqlAssociation('product', 'p').'
                LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` '.Shop::addSqlRestrictionOnLang('pl').')
                WHERE p.`id_product` = '.(int)$id_product.' AND pl.`id_lang` = '.(int)$id_lang.'
                ORDER BY pl.`name`';
        $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql);

        // Teste si la chaîne contient le mot
        foreach ($keywords as $keyword) {
            if (strpos(strtolower($result['name']), strtolower($keyword)) !== false) {
                return true;
            }
        }

        return false;
    }

 

Puis dans le fichier tpl où tu souhaites ajouter "ni repri, ni échangé" ajouter

{if Product::getProductKeywords($product.id)}
  {l s='Ni repri, ni échangé' d='Shop.Theme.Actions'}
{/if}

 

Dans la fonction tu modifies la ligne

$keywords = array("Carte électronique", "Module");

attention cela prend en compte les accents ^^ 

 

 

EISEAL

EISEAL

Bonjour,

Je ne suis pas un expert mais voici une piste qui peut dépanner :

Dans classes/Product.php ajouter cette fonction

    public static function getProductKeywords($id_product)
    {
        // Array avec les mots clé
        $keywords = array("Carte électronique", "Module");

        // Définition de la langue
        $id_lang = Context::getContext()->language->id;

        // Requete SQL pour trouver le nom du produit selon la langue
        $sql = 'SELECT p.`id_product`, pl.`name`
                FROM `'._DB_PREFIX_.'product` p
                '.Shop::addSqlAssociation('product', 'p').'
                LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` '.Shop::addSqlRestrictionOnLang('pl').')
                WHERE p.`id_product` = '.(int)$id_product.' AND pl.`id_lang` = '.(int)$id_lang.'
                ORDER BY pl.`name`';
        $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($sql);

        // Teste si la chaîne contient le mot
        $keywordExit = false;
        foreach ($keywords as $keyword) {
            if (strpos(strtolower($result['name']), strtolower($keyword)) !== false) {
                return true;
            }
        }

        return false;
    }

 

Puis dans le fichier tpl où tu souhaites ajouter "ni repri, ni échangé" ajouter

{if Product::getProductKeywords($product.id)}
  {l s='Ni repri, ni échangé' d='Shop.Theme.Actions'}
{/if}

 

Dans la fonction tu modifies la ligne

$keywords = array("Carte électronique", "Module");

attention cela prend en compte les accents ^^ 

 

 

×
×
  • Create New...