Manu-41 Posted 6 hours ago Share Posted 6 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 2 hours ago by Manu-41 Merci à tous (see edit history) Link to comment Share on other sites More sharing options...
Prestashop Addict Posted 6 hours ago Share Posted 6 hours ago Bonjour Manu, en PHP ou Smarty ? Link to comment Share on other sites More sharing options...
Manu-41 Posted 6 hours ago Author Share Posted 6 hours ago (edited) Bonjour, dans un fichier tpl merci Edited 6 hours ago by Manu-41 merci (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted 6 hours ago Share Posted 6 hours ago {$link->getCategoryLink($id_de_la_categorie)} Link to comment Share on other sites More sharing options...
Prestashop Addict Posted 6 hours ago Share Posted 6 hours ago {$link->getCategoryLink($category.id_category, $category.link_rewrite)} Link to comment Share on other sites More sharing options...
Manu-41 Posted 5 hours ago Author Share Posted 5 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 5 hours ago Share Posted 5 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 5 hours ago Author Share Posted 5 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 5 hours ago Share Posted 5 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 5 hours ago Author Share Posted 5 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 5 hours ago Author Share Posted 5 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 5 hours ago Share Posted 5 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 5 hours ago Author Share Posted 5 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 4 hours ago Share Posted 4 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 3 hours ago by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Manu-41 Posted 4 hours ago Author Share Posted 4 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 3 hours ago Share Posted 3 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 3 hours ago Author Share Posted 3 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 3 hours ago Share Posted 3 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 3 hours ago Share Posted 3 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 2 hours ago Author Share Posted 2 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 2 hours ago by Manu-41 merci (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted 2 hours ago Share Posted 2 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 2 hours ago Author Share Posted 2 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 2 hours ago Share Posted 2 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