Настройка хлебных крошек на сайте

Юлия

Сейчас на сайте для вывода хлебных крошек используется такая конструкция:

{if $page.name}

{$pageName=$page.name}

{/if}

{if !$page.name}

{$pageName=$category.name}

{/if}


{if isset($breadcrumbs)}

<div class="breadcrumbs">

<a href="{$wa_app_url}">Главная</a>

{if $breadcrumbs}

{foreach $breadcrumbs as $breadcrumb}

/

<a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a>

{/foreach}

/ {$pageName}

{else}

/ {$pageName}

{/if}

</div>

{else}

<div class="breadcrumbs">

<a href="{$wa_url}">Главная</a>

{if $breadcrumbs}

{foreach $breadcrumbs as $breadcrumb}

{if $action != 'page'}

» <a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a>

{else}

» <span class="active">{$breadcrumb.name|escape}</span>

{/if}

{/foreach}

/ {$pageName}

{else}

/ {$pageName}

{/if}

</div>

{/if}


При этом хлебные крошки выводятся на Главной и не выводятся у товаров в полной мере - в цепочке отсутствует названия товара. Подскажите, что нужно изменить в данном коде, чтобы на Главной странице хлебные крошки не выводились, и чтобы в полной мере присутствовали в товарах http://joxi.ru/5mdodbKUljXyr1

9 января 2017
  • обратитесь к программисту! ненадо вам там ничего самим менять!

  • Юлия 10 января 2017 10:05

    Я и обращаюсь здесь за помощью. Геннадий, Вы можете помочь?

  • нет. занят очень!

  • Вот так!


    {if $page.name}
        {$pageName = $page.name}
    {/if}
    
    {if !$page && $category}
        {$pageName = $category.name}
    {/if}
    {if $product}
        {$pageName = $product.name}
    {/if}
    {if isset($breadcrumbs) && !empty($breadcrumbs)}
        <div class="breadcrumbs">
            <a href="{$wa_app_url}">Главная</a>
            {if $breadcrumbs}
                {foreach $breadcrumbs as $breadcrumb}
                / <a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a>
                {/foreach}
            {/if}
            {if isset($pageName)}
            / {$pageName}
            {/if}
        </div>
    {else}
    <!--<div class="breadcrumbs">
        <a href="{$wa_url}">Главная</a>
        {if $breadcrumbs}
            {foreach $breadcrumbs as $breadcrumb}
                {if $action != 'page'}
                    » <a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a>
                {else}
                    » <span class="active">{$breadcrumb.name|escape}</span>
                {/if}
            {/foreach}
        {/if}
        {if isset($pageName)}
            / {$pageName}
        {/if}
    </div>-->
    {/if}
  • Юлия 10 января 2017 12:07

    Спасибо! Да в товарах теперь полный путь указан, однако, вы закомментили вывод хлебных крошек на внутренних страницах сайта, а там тоже необходимо, чтобы они отображались, а на Главной нет

  • Юлия 10 января 2017 12:15

    при расскоменчивании на главной выводятся хлебные крошки, а надо, чтобы не выводились...

  • попробуйте так


     {if !empty($breadcrumbs)}
        <a href="{$wa_url}">Главная</a>
        {/if}
  • Юлия 10 января 2017 12:37

    <div class="breadcrumbs">

    {if !empty($breadcrumbs)}

    <a href="{$wa_url}">Главная</a>

    {/if}

    {if $breadcrumbs}

    {foreach $breadcrumbs as $breadcrumb}

    {if $action != 'page'}

    » <a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a>

    {else}

    » <span class="active">{$breadcrumb.name|escape}</span>

    {/if}

    {/foreach}

    {/if}

    {if isset($pageName)}

    / {$pageName}

    {/if}

    </div>


    так <a href="{$wa_url}">Главная</a> нигде не выводится

  • сайт напишите!

  • Юлия 10 января 2017 12:49

    vmiremonet.ru

  • Вот так?

    {if $page.name}
    {$pageName = $page.name}
    {/if}
    
    {if !$page && $category}
    {$pageName = $category.name}
    {/if}
    {if $product}
    {$pageName = $product.name}
    {/if}
    {if isset($breadcrumbs) && !empty($breadcrumbs)}
    <div class="breadcrumbs">
        <a href="{$wa_app_url}">Главная</a>
        {if $breadcrumbs}
        {foreach $breadcrumbs as $breadcrumb}
        / <a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a>
        {/foreach}
        {/if}
        {if isset($pageName)}
        / {$pageName}
        {/if}
    </div>
    {else}
        {if isset($pageName)}
            <a href="{$wa_url}">Главная</a>  / {$pageName}
        {/if}
    </div>
    {/if}
  • Юлия 10 января 2017 13:01

    Спасибо, Николай! Так работает все верно

  • devellopah 27 сентября 2017 14:33

    я, конечно, не гуру php, но нельзя ли упростить до такого

    {$slug = $page.name || $category.name || $product.name}
    
    {if !empty($breadcrumbs)}
    <div class="breadcrumbs">
        <a href="{$wa_app_url}">Главная</a>
    
        {foreach $breadcrumbs as $breadcrumb}
        / <a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a>
        {/foreach}
    
        {if $slug} / {$slug} {/if}
    </div>
    {else}
        {if $slug} <a href="{$wa_url}">Главная</a> / {$slug} {/if}
    </div>
    {/if}
  • devellopah 4 августа 2019 16:47

    я всё ещё не гуру php, но думаю, что так будет лучше

        {$page_name = ''}
    
        {if $action === 'category'}
            {$page_name = $category.name}
        {elseif $action === 'product'}
            {$page_name = $product.name}
        {elseif $action === 'myOrders'}
            {$page_name = 'Мои заказы'}
        {elseif $action === 'myProfile'}
            {$page_name = 'Мой профиль'}
        {elseif $action === 'page'}
            {$page_name = $page.name}
        {elseif $action === 'productReviews'}
            {$page_name = 'Отзывы'}
        {elseif $action === 'order'}
            {$page_name = 'Оформление'}
        {/if}
        
        {if $page_name}
            <div class="breadcrumbs" itemprop="breadcrumb">
                <div class="container">
                    <ul>
                    {if !$wa->globals('isMyAccount')}
                        <li><a href="{$wa_app_url}">Главная</a></li><span class="rarr">&rarr;</span>
                    {/if}                
                    {if !empty($breadcrumbs)}
                        {foreach $breadcrumbs as $breadcrumb}
                            {if $breadcrumb}
                                <li><a href="{$breadcrumb.url}">{$breadcrumb.name|escape}</a></li><span class="rarr">&rarr;</span>
                            {/if}
                        {/foreach}
                        <li>{$page_name|escape}</li>
                    {else}
                        <li>{$page_name|escape}</li>
                    {/if}
                    </ul>
                </div>
            </div>
        {/if}

  • здравствуйте, установил Ваш код, все работает , но отображается вот так! сайт uralzakaz.ru подскажите пож что изменить

  • replicant Вчера 18:41

    В custom.css пропишите стиль такого вида

    .breadcrumbs li {
        list-style: none;
        display: inline;
        padding: 0 5px;
    }

  • replicant , спасибо огромное!



Чтобы добавить комментарий, зарегистрируйтесь или войдите