1

Тема: Как удалить последнее значение в "хлебных крошках"?

Вот сам код тпл-ки:

{$i=0}
<div class="crumbs" xmlns:v="http://rdf.data-vocabulary.org/#">
    <div class="container">
        <ul class="items items-crumbs" typeof="v:Breadcrumb">
            <li class="btn-crumb">
                <a rel="v:url" property="v:title" href="{site_url()}">
                    <span class="text-el">{lang('Главная', 'technoStore')}</span>
                    <span class="divider">&rarr;</span>
                </a>
            </li>
            {foreach $navi_cats as $item} {$i++}
                <li class="btn-crumb" typeof="v:Breadcrumb">
                    {if $i < count($navi_cats)}
                        <a rel="v:url" property="v:title" href="{site_url($item.path_url)}">
                            <span class="text-el">{$item.name}</span>
                            <span class="divider">&rarr;</span>
                        </a>
                    {else:}
                    <!-- {print_r($item);} -->
                        <span class="text-el" rel="v:url" property="v:title"></span>
                    {/if}
                </li>
            {/foreach}
        </ul>
    </div>
</div>

И вот как это выглядит на страницах:

http://SSmaker.ru/4c8ed905.png

Надо удалить последнюю часть с названием товара. Только если её удаляешь из тпл-ки - остается стрелка вправо которая перед название товара расположена. Чета у меня совсем нет идей, как её можно выдернуть, чтобы и остальные стрелки не пропали, ибо там цикл.
Как такое осуществить?

Thumbs up Thumbs down

2

Re: Как удалить последнее значение в "хлебных крошках"?

Добрый день.
Нужно всегда удалять последнюю часть хлебных крошек? То-есть ту часть, что совпадает с текущей страницей.
Или только на странице товара не выводить название товара в последней части?

ImageCMS Lead Front End Developer

Thumbs up Thumbs down

3

Re: Как удалить последнее значение в "хлебных крошках"?

Второе. На странице товара не выводить название товара в последней части.

Thumbs up Thumbs down

4

Re: Как удалить последнее значение в "хлебных крошках"?

Вместо

{foreach $navi_cats as $item} {$i++}
....
{/foreach}

Вставьте

<!-- Удаляем последний элемент массива, если находимся на странице товара -->
{if $CI->core->core_data['data_type'] == 'product'}
  {array_pop($navi_cats);}
{/if}

{$cats_num = count($navi_cats);}
{foreach $navi_cats as $item} {$i++}
  <li class="btn-crumb" typeof="v:Breadcrumb">
    {if $cats_num > $i || $CI->core->core_data['data_type'] == 'product'}
      <a rel="v:url" property="v:title" href="{site_url($item.path_url)}">
        <span class="text-el">{$item.name}</span>
        {if $cats_num > $i}<span class="divider">&rarr;</span>{/if}
      </a>
    {else:}
      <span class="text-el">{$item.name}</span>
    {/if}
  </li>
{/foreach}
ImageCMS Lead Front End Developer

Thumbs up +1 Thumbs down

5

Re: Как удалить последнее значение в "хлебных крошках"?

Отлично! Теперь последний элемент на странице товара не показывается.
Спасибо!

Thumbs up Thumbs down

6 Отредактировано Andrei_Ts (09-01-2017 17:04:28)

Re: Как удалить последнее значение в "хлебных крошках"?

Возобновляю тему, т.к. в 4.12 возникла проблема с отображением пути навигации в обычных страницах corporate части. На обычных страницах, не магазина, показывается только пункт "Главная".

http://SSmaker.ru/4f4eb145_s.jpg

Вот код виджета:

{$i=0}
<div class="crumbs" xmlns:v="http://rdf.data-vocabulary.org/#">
    <div class="container">
        <ul class="items items-crumbs" typeof="v:Breadcrumb">
            <li class="btn-crumb">
                <a rel="v:url" property="v:title" href="{site_url()}">
                    <span class="text-el">{lang('Главная', 'vvsimpex')}</span>
                    <span class="divider">&rarr;</span>
                </a>
            </li>
<!-- Удаляем последний элемент массива, если находимся на странице товара -->
{if $CI->core->core_data['data_type'] == 'product'}
  {array_pop($navi_cats);}
{/if}

{$cats_num = count($navi_cats);}
{foreach $navi_cats as $item} {$i++}
  <li class="btn-crumb" typeof="v:Breadcrumb">
    {if $cats_num > $i || $CI->core->core_data['data_type'] == 'product'}
      <a rel="v:url" property="v:title" href="{site_url($item.path_url)}">
        <span class="text-el">{$item.name}</span>
        {if $cats_num > $i}<span class="divider">&rarr;</span>{/if}
      </a>
    {else:}
      <span class="text-el">{$item.name}</span>
    {/if}
  </li>
{/foreach}
        </ul>
    </div>
</div>

Thumbs up Thumbs down

7

Re: Как удалить последнее значение в "хлебных крошках"?

UP

Thumbs up Thumbs down

8

Re: Как удалить последнее значение в "хлебных крошках"?

Проблема решилась. Оказывается, в шаблоне вызов виджета "крошек" стоял в каждом файле category.tpl, product.tpl и т.д., а нужно было его оттуда удалить, и перенести вызов виджета в main.tpl - после это корректно стал отображаться весь путь.
Оставляю решение здесь, может кому поможет.

Thumbs up Thumbs down