Manu-41 Posted Friday at 10:10 AM Share Posted Friday at 10:10 AM (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 Friday at 01:51 PM by Manu-41 Merci à tous (see edit history) Link to comment Share on other sites More sharing options...
Prestashop Addict Posted Friday at 10:19 AM Share Posted Friday at 10:19 AM Bonjour Manu, en PHP ou Smarty ? Link to comment Share on other sites More sharing options...
Manu-41 Posted Friday at 10:22 AM Author Share Posted Friday at 10:22 AM (edited) Bonjour, dans un fichier tpl merci Edited Friday at 10:23 AM by Manu-41 merci (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted Friday at 10:29 AM Share Posted Friday at 10:29 AM {$link->getCategoryLink($id_de_la_categorie)} Link to comment Share on other sites More sharing options...
Prestashop Addict Posted Friday at 10:29 AM Share Posted Friday at 10:29 AM {$link->getCategoryLink($category.id_category, $category.link_rewrite)} Link to comment Share on other sites More sharing options...
Manu-41 Posted Friday at 10:43 AM Author Share Posted Friday at 10:43 AM 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 Friday at 10:57 AM Share Posted Friday at 10:57 AM $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 Friday at 11:02 AM Author Share Posted Friday at 11:02 AM 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 Friday at 11:09 AM Share Posted Friday at 11:09 AM 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 Friday at 11:14 AM Author Share Posted Friday at 11:14 AM {$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 Friday at 11:20 AM Author Share Posted Friday at 11:20 AM 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 Friday at 11:24 AM Share Posted Friday at 11:24 AM ou plus simplement un cast {$link->getCategoryLink((int)$feature.value)} 1 Link to comment Share on other sites More sharing options...
Manu-41 Posted Friday at 11:30 AM Author Share Posted Friday at 11:30 AM 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 Friday at 11:40 AM Share Posted Friday at 11:40 AM (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 Friday at 01:03 PM by Eolia (see edit history) Link to comment Share on other sites More sharing options...
Manu-41 Posted Friday at 12:18 PM Author Share Posted Friday at 12:18 PM 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 Friday at 12:47 PM Share Posted Friday at 12:47 PM 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 Friday at 01:22 PM Author Share Posted Friday at 01:22 PM 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 Friday at 01:23 PM Share Posted Friday at 01:23 PM 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 Friday at 01:26 PM Share Posted Friday at 01:26 PM 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 Friday at 01:39 PM Author Share Posted Friday at 01:39 PM (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 Friday at 01:39 PM by Manu-41 merci (see edit history) Link to comment Share on other sites More sharing options...
Eolia Posted Friday at 01:40 PM Share Posted Friday at 01:40 PM Oui j'ai édité mon code plus haut, vous avez tout. Link to comment Share on other sites More sharing options...
Manu-41 Posted Friday at 01:51 PM Author Share Posted Friday at 01:51 PM 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 Friday at 02:19 PM Share Posted Friday at 02:19 PM 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