Jump to content

PS 1.7 : changer le titre de la page dans le Breadcrumb


Recommended Posts

Bonjour,

Je souhaiterais modifier le titre de la page qui s'affiche dans le breadcrumb, par exemple pour ma page "Panier", c'est toujours "Accueil" qui s'affiche.

1079607624_Sanstitre.thumb.jpg.63ee9196443246f2558f131a90fa1396.jpg

 

Voilà le bout de code correspondant dans mon fichier breadcrumb.tpl :

<nav data-depth="{$breadcrumb.count}" class="visible">
  <ol class="breadcrumb">
    {foreach from=$breadcrumb.links item=path name=breadcrumb}
        {block name='breadcrumb_item'}
            {if $smarty.foreach.breadcrumb.last}
                <li class="breadcrumb-item active">
                    {else}
                <li class="breadcrumb-item">
                <a itemprop="item" href="{$path.url}">
            {/if}
            <span itemprop="name">{$path.title}</span>
        {if !$smarty.foreach.breadcrumb.last}
            </a>
        {/if}
            </li>
        {/block}
    {/foreach}
  </ol>
</nav>

Et le bout de code correspondant aux titres de catégorie que j'ai déplacé dans mon fichier layout-both-columns.tpl :

{if $page.page_name == 'category'}
         <div class="name_category">
        <h1 class="h1">{$category.name}{if isset($smarty.get.page) && $smarty.get.page > 1} <span class="small"> - Page {$smarty.get.page}</span>{/if}</h1>
    </div> {/if}

Y a t-il moyen d'arranger çà ?

(URL si besoin : gounacreations.com)

Merci !

Edited by gouna
titres breadcrumb (see edit history)
Link to comment
Share on other sites

Vous devez apporter des modifications à CartController, ajoutez cette méthode :

public function getBreadcrumbLinks()
{
        $breadcrumb = parent::getBreadcrumbLinks();
		
		$cart_url = $this->context->link->getPageLink(
            'cart',
            null,
            $this->context->language->id,
            [
                'action' => 'show',
            ],
            false,
            null,
            true
        );

        $breadcrumb['links'][] = [
            'title' => $this->trans('Cart', [], 'Shop.Theme.Checkout'),
            'url' => $cart_url,
        ];

        return $breadcrumb;
}

 

Link to comment
Share on other sites

il y a 7 minutes, Mediacom87 a dit :

Bonjour,

sur le template classic de base de Prestashop lorsque l'on est sur la panier le breadcrumb ne s’affiche pas donc peut être devriez-vous simplement regarder comment cela est fait pour reproduire sur votre template.

Bonjour, oui en effet j'ai modifié mon breadcrumb pour qu'il s'affiche sur toute mes pages afin de créer une démarcation entre mon menu et le reste de la page 🙂

Link to comment
Share on other sites

il y a 6 minutes, gouna a dit :

Bonjour, oui en effet j'ai modifié mon breadcrumb pour qu'il s'affiche sur toute mes pages afin de créer une démarcation entre mon menu et le reste de la page 🙂

Après comme PrestaShop 1.7 ne semble pas à même de gérer cela puisqu'il n'y ait pas de base alors oui il va falloir apprendre à le gérer.

Link to comment
Share on other sites

Il y a 3 heures, Ress a dit :

Vous devez apporter des modifications à CartController, ajoutez cette méthode :

public function getBreadcrumbLinks()
{
        $breadcrumb = parent::getBreadcrumbLinks();
		
		$cart_url = $this->context->link->getPageLink(
            'cart',
            null,
            $this->context->language->id,
            [
                'action' => 'show',
            ],
            false,
            null,
            true
        );

        $breadcrumb['links'][] = [
            'title' => $this->trans('Cart', [], 'Shop.Theme.Checkout'),
            'url' => $cart_url,
        ];

        return $breadcrumb;
}

 

Merci, cela semble fonctionner parfaitement !

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

Bien sûr, vous devez ajouter dans le OrderController :

public function getBreadcrumbLinks()
{
        $breadcrumb = parent::getBreadcrumbLinks();
        $order_url = $this->context->link->getPageLink('order');

        $breadcrumb['links'][] = [
            'title' => $this->trans('Order', [], 'Shop.Theme.Checkout'),
            'url' => $order_url,
        ];

        return $breadcrumb;
}

 

  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...