Manu-41 Posted October 20 Share Posted October 20 (edited) Bonjour, j'ai un module de blog, ou le breadcrumb (d'origine) est ainsi : Accueil/blog je voudrais pouvoir avoir uniquement quand je suis sur les pages du blog Blog J'ai besoin de supprimer l'accueil. Comment puis-je faire ? merci pour votre aide Ps 1.7 Edited October 23 by Manu-41 Merci Divine ;-) (see edit history) Link to comment Share on other sites More sharing options...
Divine Posted October 20 Share Posted October 20 Bonjour, Le breadcrumb est-il géré par le blog ou reprend-il celui de Prestashop ? Link to comment Share on other sites More sharing options...
Manu-41 Posted October 20 Author Share Posted October 20 4 hours ago, Divine said: Bonjour, Le breadcrumb est-il géré par le blog ou reprend-il celui de Prestashop ? Bonjour divine, C est celui de prestashop Link to comment Share on other sites More sharing options...
Divine Posted October 21 Share Posted October 21 Dans ce cas, je tenterais quelque chose comme ceci dans le fichier templates >> _partials >> breadcrumb.tpl du thème utilisé : {block name='breadcrumb_item'} {if $page.page_name != 'blog'} <li> {if not $smarty.foreach.breadcrumb.last} <a href="{$path.url}"><span>{$path.title}</span></a> {else} <span>{$path.title}</span> {/if} </li> {else} {if !$smarty.foreach.breadcrumb.first} <li> {if not $smarty.foreach.breadcrumb.last} <a href="{$path.url}"><span>{$path.title}</span></a> {else} <span>{$path.title}</span> {/if} </li> {/if} {/if} {/block} Il faudra remplacer "blog" par le véritable nom de la page du blog. S'il y a plusieurs pages de blog concernées, il faudra ajouter dans la condition le nom de chaque page comme ceci : {if $page.page_name != 'page_blog_1' && $page.page_name != 'page_blog_2' && $page.page_name != 'page_blog_3'} Ne pas oublier de forcer la compilation pour que la modification soit bien prise en compte. Link to comment Share on other sites More sharing options...
Manu-41 Posted October 21 Author Share Posted October 21 1 hour ago, Divine said: Dans ce cas, je tenterais quelque chose comme ceci dans le fichier templates >> _partials >> breadcrumb.tpl du thème utilisé : {block name='breadcrumb_item'} {if $page.page_name != 'blog'} <li> {if not $smarty.foreach.breadcrumb.last} <a href="{$path.url}"><span>{$path.title}</span></a> {else} <span>{$path.title}</span> {/if} </li> {else} {if !$smarty.foreach.breadcrumb.first} <li> {if not $smarty.foreach.breadcrumb.last} <a href="{$path.url}"><span>{$path.title}</span></a> {else} <span>{$path.title}</span> {/if} </li> {/if} {/if} {/block} Il faudra remplacer "blog" par le véritable nom de la page du blog. S'il y a plusieurs pages de blog concernées, il faudra ajouter dans la condition le nom de chaque page comme ceci : {if $page.page_name != 'page_blog_1' && $page.page_name != 'page_blog_2' && $page.page_name != 'page_blog_3'} Ne pas oublier de forcer la compilation pour que la modification soit bien prise en compte. Merci Divine pour toutes ces précisions, je n'ai pas le même code. {if isset($breadcrumb.links[1])} <nav aria-label="breadcrumb"> <ol class="brum breadcrumb breadcrumb-light flex-lg-nowrap breadcrumb-mob"> {foreach from=$breadcrumb.links item=path name=breadcrumb} {if $path.url != $urls.current_url} <li class="breadcrumb-item"> <a href="{$path.url}" title="{$path.title}"> {if $path.url == $urls.pages.index} Accueil {else} <span class="text-nowrap">{$path.title}</span> {/if} </a> </li> {/if} {/foreach} </ol> </nav> {/if} Link to comment Share on other sites More sharing options...
Manu-41 Posted October 21 Author Share Posted October 21 c'est bon, j'ai trouvé. Ca fonctionne. Il me reste le microdata, si vous avez une idée ? merci encore 😉 Link to comment Share on other sites More sharing options...
Divine Posted October 21 Share Posted October 21 Le code indiqué est bizarre mais avec ce code, cela donne ceci : {if isset($breadcrumb.links[1])} <nav aria-label="breadcrumb"> <ol class="brum breadcrumb breadcrumb-light flex-lg-nowrap breadcrumb-mob"> {foreach from=$breadcrumb.links item=path name=breadcrumb} {if $path.url != $urls.current_url} {if $page.page_name != 'blog'} <li class="breadcrumb-item"> <a href="{$path.url}" title="{$path.title}"> {if $path.url == $urls.pages.index} Accueil {else} <span class="text-nowrap">{$path.title}</span> {/if} </a> </li> {else} {if !$smarty.foreach.breadcrumb.first} <li class="breadcrumb-item"> <a href="{$path.url}" title="{$path.title}"> {if $path.url == $urls.pages.index} Accueil {else} <span class="text-nowrap">{$path.title}</span> {/if} </a> </li> {/if} {/if} {/if} {/foreach} </ol> </nav> {/if} Pourquoi "Accueil" est ainsi en dur dans le code (sans utilisation de la syntaxe pour traduire le terme) ? Et y a-t-il une raison pour laquelle le dernier élément du breadcrumb (la page courante) n'est pas affiché ? Link to comment Share on other sites More sharing options...
Manu-41 Posted October 21 Author Share Posted October 21 J'ai répondu, mais le message est bloqué sur le forum. Le code fonctionne, j'ai réussi à le faire afficher. Il me reste le microdata, qui lui affiche toujours l'accueil ;-( Link to comment Share on other sites More sharing options...
Divine Posted October 21 Share Posted October 21 (edited) Pour les microdatas c'est le même principe. Il faut vérifier la page sur laquelle on est, si on se trouve sur une page autre que le blog, on affiche les microdatas normalement, sinon on n'affiche pas le premier élément de la liste. Ceci dit je ne suis pas sûre que cela soit une bonne idée de toucher ainsi au microdatas, vous risquez d'avoir des erreurs dans votre Search Console Google. A vérifier donc. Edited October 21 by Divine (see edit history) Link to comment Share on other sites More sharing options...
Manu-41 Posted October 21 Author Share Posted October 21 (edited) 9 minutes ago, Divine said: Pour les microdatas c'est le même principe. Il faut vérifier la page sur laquelle on est, si on se trouve sur une page autre que le blog, on affiche les microdatas normalement, sinon on n'affiche pas le premier élément de la liste. Ceci dit je ne suis pas sûre que cela soit une bonne idée de toucher ainsi au microdatas, vous risquez d'avoir des erreurs dans votre Search Console Google. A vérifier donc. Le but étant de rendre les page du blog indépendante de la boutique. Et il me reste juste le microdata. J'ajoute une image, car le code ne passe pas Edited October 21 by Manu-41 merci (see edit history) Link to comment Share on other sites More sharing options...
Divine Posted October 21 Share Posted October 21 (edited) Comme je vous l'ai dit, même principe, il vous suffit de faire la même chose que pour le fichier breadcrumb.tpl. Le code ne passe pas non plus de mon côté... Edited October 21 by Divine (see edit history) Link to comment Share on other sites More sharing options...
Manu-41 Posted October 22 Author Share Posted October 22 16 hours ago, Divine said: Comme je vous l'ai dit, même principe, il vous suffit de faire la même chose que pour le fichier breadcrumb.tpl. Le code ne passe pas non plus de mon côté... J'ai ajouté la condition avec le code de mon blog, mais le fil part toujours depuis l'accueil. J'ai ce code : "itemListElement": [ {foreach from=$breadcrumb.links item=path name=breadcrumb} { "@type": "ListItem", "position": {$smarty.foreach.breadcrumb.iteration}, "name": "{$path.title}", "item": "{$path.url}" }{if !$smarty.foreach.breadcrumb.last},{/if} {/foreach}] Link to comment Share on other sites More sharing options...
Divine Posted October 22 Share Posted October 22 Essayez ceci : "itemListElement": [ {foreach from=$breadcrumb.links item=path name=breadcrumb} {if $page.page_name != 'blog'} { "@type" : "ListItem", "position" : {$smarty.foreach.breadcrumb.iteration}, "name" : "{$path.title}", "item" : "{$path.url}" }{if !$smarty.foreach.breadcrumb.last},{/if} {else} {if !$smarty.foreach.breadcrumb.first} { "@type" : "ListItem", "position" : {$smarty.foreach.breadcrumb.iteration - 1}, "name" : "{$path.title}", "item" : "{$path.url}" }{if !$smarty.foreach.breadcrumb.last},{/if} {/if} {/if} {/foreach} ] Ne pas oublier d'enlever 1 à l'itération pour que la position parte bien à 1 et non à 2. Cela devrait éviter les erreurs dans la Search Console. Mais vérifiez tout de même qu'il n'y a pas d'erreurs au niveau des microdatas. Link to comment Share on other sites More sharing options...
Manu-41 Posted October 22 Author Share Posted October 22 53 minutes ago, Divine said: Essayez ceci : "itemListElement": [ {foreach from=$breadcrumb.links item=path name=breadcrumb} {if $page.page_name != 'blog'} { "@type" : "ListItem", "position" : {$smarty.foreach.breadcrumb.iteration}, "name" : "{$path.title}", "item" : "{$path.url}" }{if !$smarty.foreach.breadcrumb.last},{/if} {else} {if !$smarty.foreach.breadcrumb.first} { "@type" : "ListItem", "position" : {$smarty.foreach.breadcrumb.iteration - 1}, "name" : "{$path.title}", "item" : "{$path.url}" }{if !$smarty.foreach.breadcrumb.last},{/if} {/if} {/if} {/foreach} ] Ne pas oublier d'enlever 1 à l'itération pour que la position parte bien à 1 et non à 2. Cela devrait éviter les erreurs dans la Search Console. Mais vérifiez tout de même qu'il n'y a pas d'erreurs au niveau des microdatas. Au niveau de la page blog, l'accueil est toujours présent, cela ne change rien Link to comment Share on other sites More sharing options...
Manu-41 Posted October 22 Author Share Posted October 22 J'avance, l'accueil est retiré, mais j'ai une erreur de , ai-je mal mis la condition ? { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {foreach from=$breadcrumb.links item=path name=breadcrumb} {if $path.url == $urls.pages.index} {else}{ "@type": "ListItem", "position": {$smarty.foreach.breadcrumb.iteration -1}, "name": "{$path.title}", "item": "{$path.url}" } {/if} {if !$smarty.foreach.breadcrumb.last},{/if} {/foreach}] } Link to comment Share on other sites More sharing options...
Manu-41 Posted October 22 Author Share Posted October 22 c'est bon, plus d'erreur, j'ai ajouté la condition aussi sur {if $path.url == $urls.pages.index}{else}{if !$smarty.foreach.breadcrumb.last},{/if}{/if} je ne sais pas si c'est propre, mais c'est fonctionnel, et pas d'erreur. Encore merci divine 😉 Link to comment Share on other sites More sharing options...
Divine Posted October 22 Share Posted October 22 Nickel ! N'oubliez pas d'éditer votre premier post et d'ajouter [Résolu] dans le titre 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