8722 sujets

Développement web côté serveur, CMS

Pages :
Bonjour à tous !

Je suis sur Prestashop et j'ai un module d'export pour mon catalogue vers Google Shopping.

Le hic, c'est qu'il me met le lien de mes produits avec l'EAN13 et je voudrais changer cela. Par exemple, j'ai une fiche produit qui a pour lien : http://www.kosmeopolis.com/teint/130-fond-de-teint-bb-creme.html et mon module me met : http://www.kosmeopolis.com/teint/130-fond-de-teint-bb-creme-5901812091932.html. J'aimerais donc enlever ces chiffres !

Mon code est :
$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite'], $cat_link_rew, $product['ean13'], (int) ($product['id_lang']), 1, 0, true);


J'ai tenté des choses mais cela entraîne un bug... Je suppose que c'est simple pourtant mais je n'y connais rien en PHP ^^

Merci pour votre aide !!
Modifié par camping44 (06 Jul 2014 - 17:28)
Essaye comme ça
$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite'], $cat_link_rew);
pour voir ?
Si ça ne marche toujours pas enlève le $cat_link_rew
Modifié par Hamson (07 Jul 2014 - 10:56)
Avec ou sans le $cat_link_rew ?
Sinon essaye comme avant en enlevant juste l'id_lang
$product_link = $this->context->link->getProductLink((int) ($product['id_product']), product['link_rewrite'], $cat_link_rew, $product['ean13']);
J'ai essayé :

$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite']);


$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite'], $cat_link_rew);


$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite'], $cat_link_rew, $product['ean13'], 1, 0, true);


$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite'], $cat_link_rew, $product['ean13']);


Les 4 me donnent :
http://www.kosmeopolis.com/index.php?id_product=134&controller=product
Je vois.. Et si tu le remets comme avant ça met bien l'url réécrite avec l'ean13 derrière ?
Essaye de voir sur google q'il y a une doc sur la fonction getProductLink de ce module de prestashop en particulier
Merci,

Malheureusement je ne comprends vraiment rien au PHP (c'est d'ailleurs pour cela que j'ai demandé de l'aide ^^) et cela ne m'aide pas. D'habitude, même en ne comprenant pas je m'en sors mais là.... :S !
Essaye ça :
$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite'], $cat_link_rew, null, (int) ($product['id_lang']), 1, 0, true);
J'ai bien l'url réécrite mais j'ai aussi l'EAN13, pourtant rien n'y fait référence dans le lien !

C'est peut-être une autre ligne qui pose problème du coup ?

Je cherche... !
D'après la définition de la fonction, c'est bien l'ean13, et le fait de mettre null aurait dû annuler l'écriture de l'ean13 dans le lien... C'est très bizarre
Pour tester, j'ai mis :

$product_link = $this->context->link->getProductLink((int) ($product['id_product']), $product['link_rewrite'], $cat_link_rew, null, (int) ($product['id_lang']), 1, 0, true);


je n'ai plus l'EAN13 mais ... je n'ai plus non plus l'ID lol et du coup ça ne sert à rien mais cela peut éventuellement aider ?
Bah c'est pas ce que je t'avais dis de mettre ? oO
Sinon, c'est déjà ça, après, moi j'essaierai la méthode barbare..
$product_link = $product['id_produit'] . '-' . $product['link_rewrite'] . '.html';
Oups, je voulais dire :


Pour tester, j'ai mis :

$product_link = $this->context->link->getProductLink((int) null, $product['link_rewrite'], $cat_link_rew, null, (int) ($product['id_lang']), 1, 0, true);

Pour $product_link = $product['id_produit'] . '-' . $product['link_rewrite'] . '.html'; je n'ai presque plus rien : "-gloss-royal-glam.html" lol
Ha, oui, effectivement c'est normal que tu n'aies plus d'id..

Ha, oui, excuse moi..
$product_link = _PS_BASE_URL_ . __PS_BASE_URI__ . $this->context->link->getLangLink((int)$id_lang) . $product['id_product'] . '-' . $product['link_rewrite'] . '.html';
[PrestaShop] Fatal error in module googleshopping:
Call to protected method LinkCore::getLangLink() from context 'GoogleShopping'


Smiley lol
Smiley lol oups

Effectivement le plus simple c'est de passer par la fonction getProductLink... Mais même si en mettant l'ean13 à NULL il y est toujours.. Je vois pas comment faire
Et pour la méthode barbare c'est en fait plus chiant qu'il n'y paraît xD
Pages :