Manu-41 Posted 16 hours ago Share Posted 16 hours ago (edited) Bonjour, j'ai besoin de créer un lien de catégorie depuis l'id (avec le nom de cette catégorie). Comment puis-je m'y prendre ? Ps 1.7 merci Edited 13 hours ago by Manu-41 Merci à tous (see edit history) Link to comment Share on other sites More sharing options...
Prestashop Addict Posted 16 hours ago Share Posted 16 hours ago Bonjour Manu, en PHP ou Smarty ? Link to comment Share on other sites More sharing options...
Manu-41 Posted 16 hours ago Author Share Posted 16 hours ago (edited) Bonjour, dans un fichier tpl merci Edited 16 hours ago by Manu-41 merci (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted 16 hours ago Share Posted 16 hours ago {$link->getCategoryLink($id_de_la_categorie)} Link to comment Share on other sites More sharing options...
Prestashop Addict Posted 16 hours ago Share Posted 16 hours ago {$link->getCategoryLink($category.id_category, $category.link_rewrite)} Link to comment Share on other sites More sharing options...
Manu-41 Posted 16 hours ago Author Share Posted 16 hours ago 13 minutes ago, Eolia said: {$link->getCategoryLink($id_de_la_categorie)} 13 minutes ago, Prestashop Addict said: {$link->getCategoryLink($category.id_category, $category.link_rewrite)} J'affiche mon id de catégorie (seconde catégorie) comme ca: {foreach from=$product.grouped_features item=feature}{if $feature.id_feature ==70}{$feature.value|truncate:3:"" nofilter}{/if}{/foreach} Ca ne passe pas à la place de id de la catégorie. Link to comment Share on other sites More sharing options...
Eolia Posted 16 hours ago Share Posted 16 hours ago $feature.value correspond à votre ID de catégorie ? Si oui, pourquoi le tronquer à 3 caractères ? Le code deviendrait : {$link->getCategoryLink($feature.value)} Link to comment Share on other sites More sharing options...
Manu-41 Posted 16 hours ago Author Share Posted 16 hours ago 3 minutes ago, Eolia said: $feature.value correspond à votre ID de catégorie ? Si oui, pourquoi le tronquer à 3 caractères ? Le code deviendrait : {$link->getCategoryLink($feature.value)} Oui cela correspond à l'id de ma seconde catégorie. J'ai tronqué, car (pour m'y retrouver dans les valeurs) ma caractéristique originale est : id – nom de catégorie. Link to comment Share on other sites More sharing options...
Mediacom87 Posted 15 hours ago Share Posted 15 hours ago il y a 6 minutes, Manu-41 a dit : Oui cela correspond à l'id de ma seconde catégorie. J'ai tronqué, car (pour m'y retrouver dans les valeurs) ma caractéristique originale est : id – nom de catégorie. On ne tronque pas, on explode(" - ", $feature.value) Link to comment Share on other sites More sharing options...
Manu-41 Posted 15 hours ago Author Share Posted 15 hours ago {$link->getCategoryLink($feature.value)} ne fonctionne pas J'ai testé avec {foreach from=$product.grouped_features item=feature} {if $feature.id_feature ==70} <a href="{$link->getCategoryLink($feature.value|truncate:3:"" nofilter)}">nom de categorie</a> {/if} {/foreach} Link to comment Share on other sites More sharing options...
Manu-41 Posted 15 hours ago Author Share Posted 15 hours ago 10 minutes ago, Mediacom87 said: On ne tronque pas, on explode(" - ", $feature.value) Bonjour mediacom, merci pour ta participation. Peux-tu m'expliquer ? Car l'id que j'ai est au début id - nom de catégorie Link to comment Share on other sites More sharing options...
Prestashop Addict Posted 15 hours ago Share Posted 15 hours ago ou plus simplement un cast {$link->getCategoryLink((int)$feature.value)} 1 Link to comment Share on other sites More sharing options...
Manu-41 Posted 15 hours ago Author Share Posted 15 hours ago 4 minutes ago, Prestashop Addict said: ou plus simplement un cast {$link->getCategoryLink((int)$feature.value)} oui ca fonctionne,285 étant un id de catégorie {$link->getCategoryLink((int)285)} ca, ca ne fonctionne pas {$link->getCategoryLink((int)$feature.value|truncate:3:"" nofilter)} Link to comment Share on other sites More sharing options...
Eolia Posted 15 hours ago Share Posted 15 hours ago (edited) {foreach from=$product.grouped_features item=feature} {if $feature.id_feature ==70} {assign var="item" value=explode(' - ', $feature.value)} <a href="{$link->getCategoryLink((int)$item[0])}">{$item[1]}</a> {/if} {/foreach} Edited 14 hours ago by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Manu-41 Posted 14 hours ago Author Share Posted 14 hours ago 37 minutes ago, Eolia said: {foreach from=$product.grouped_features item=feature} {if $feature.id_feature ==70} {assign var="item" value=explode(' - ', $feature.value)} <a href="{$link->getCategoryLink((int)$item[0])}">nom de categorie</a> {/if} {/foreach} Super, ça fonctionne. Du coup, pour récupérer le nom de la catégorie depuis l'id ? Link to comment Share on other sites More sharing options...
Mediacom87 Posted 14 hours ago Share Posted 14 hours ago il y a 28 minutes, Manu-41 a dit : Super, ça fonctionne. Du coup, pour récupérer le nom de la catégorie depuis l'id ? $item[1] Il suffit de lire la documentation des fonctions PHP https://www.php.net/manual/fr/function.explode.php 1 Link to comment Share on other sites More sharing options...
Manu-41 Posted 13 hours ago Author Share Posted 13 hours ago Du coup, vu que dans ma valeur, j'ai mon nom de catégorie, il est donc possible d'afficher uniquement ce nom. Je comprends que le explode a enlevé la suite de "id -" Comment l'utiliser pour avoir justement ce qui suit le "id -" ? Link to comment Share on other sites More sharing options...
Eolia Posted 13 hours ago Share Posted 13 hours ago Il y a 1 heure, Eolia a dit : {foreach from=$product.grouped_features item=feature} {if $feature.id_feature ==70} {assign var="item" value=explode(' - ', $feature.value)} <a href="{$link->getCategoryLink((int)$item[0])}">{$item[1]}</a> {/if} {/foreach} Link to comment Share on other sites More sharing options...
Eolia Posted 13 hours ago Share Posted 13 hours ago Le explode() a transformé votre chaine de caractères en un tableau en séparant les éléments chaque fois qu'il rencontre '-' dans la chaine. Vous vous retrouvez donc avec un tableau à 2 entrées (0 et 1) qui contiennent l'id et le nom. $item = array( 0 => id_category, 1 => category_name ); $item[0] = votre ID catégorie $item[1] = le nom de votre catégorie Link to comment Share on other sites More sharing options...
Manu-41 Posted 13 hours ago Author Share Posted 13 hours ago (edited) 12 minutes ago, Eolia said: Le explode() a transformé votre chaine de caractères en un tableau en séparant les éléments chaque fois qu'il rencontre '-' dans la chaine. Vous vous retrouvez donc avec un tableau à 2 entrées (0 et 1) qui contiennent l'id et le nom. $item = array( 0 => id_category, 1 => category_name ); $item[0] = votre ID catégorie $item[1] = le nom de votre catégorie Merci pour ces explications Eolia. Du coup, pour avoir le nom : {$item[1]} ? Oui, je sais, je suis nul 😂 Edited 13 hours ago by Manu-41 merci (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted 13 hours ago Share Posted 13 hours ago Oui j'ai édité mon code plus haut, vous avez tout. Link to comment Share on other sites More sharing options...
Manu-41 Posted 13 hours ago Author Share Posted 13 hours ago 10 minutes ago, Eolia said: Oui j'ai édité mon code plus haut, vous avez tout. Super ! mille mercis. Link to comment Share on other sites More sharing options...
Eolia Posted 12 hours ago Share Posted 12 hours ago Un like fait toujours plaisir, hein 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now