Хлебные крошки в Opencart 2


OrganicSeo
128

Доброго времени суток господа. 

Пытаюсь настроить position в хлебных крошках на опенкарте. Так как я не специалист по PHP коду, я СЕО, и тем более переделываю как мне кажется страшно написанный код, нужна помощь. Нужно одну строчку вставить и всё.

      <ul class=«breadcrumb»>
         <?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
         <li>
            <?php if($i+1<count($breadcrumbs)) { ?>
               <span itemscope=«» itemprop=«itemListElement» itemtype=«http://schema.org/ListItem»>
                  <a itemprop=«item» title=«<?php if($breadcrumb[‘text’] != ‘<i class=»fa fa-home«></i>’ { echo $breadcrumb[‘text’]; } else {echo ‘Главная’;}?>» 
                  href=«<?php echo $breadcrumb[‘href’]; ?>»>
                     <span itemprop=«name»>
                        <?php if($breadcrumb[‘text’] != ‘<i class=»fa fa-home»></i>’) { echo $breadcrumb[‘text’]; } 
                        else {echo ‘Главная’;}?>
                     </span>
                  </a>
               </span> 
            <?php } else { ?>
               <span itemscope=«» itemprop=«itemListElement» itemtype=«http://schema.org/ListItem»>
                  <span itemprop=«name»><?php echo $breadcrumb[‘text’]; ?>
                  </span>
               </span>
               <?php } ?>
         </li>
         <?php } ?>

      </ul>

Поверьте я его еще структурировал, как вообще не понятно ничего не было.

пробовал переделывать в :

<ul class=«breadcrumb» itemscope itemtype=«https://schema.org/BreadcrumbList»>
    <?php $end_breadcrumb = array_pop($breadcrumbs); ?>
    <?php foreach ($breadcrumbs as $i => $breadcrumb) {
        $i++; ?>
        <li itemprop=«itemListElement» itemscope itemtype=«https://schema.org/ListItem»>
            <a href=«<?php echo $breadcrumb[‘href’]; ?>» itemprop=«item»>
                <span itemprop=«name»><?php echo $breadcrumb[‘text’]; ?></span>
            </a>
            <meta itemprop=«position» content=«<?php echo $i; ?>» />
        </li>
    <?php } ?>
    <li itemprop=«itemListElement» itemscope itemtype=«https://schema.org/ListItem»>
        <span itemprop=«name»><?php echo $end_breadcrumb[‘text’]; ?></span>
        <meta itemprop=«item» content=«<?php echo $end_breadcrumb[‘href’]; ?>» />
        <meta itemprop=«position» content=«<?php echo count($breadcrumbs) + 1; ?>» />
    </li>
</ul>

Но бесполезно.


Алеандр

OrganicSeo :

Доброго времени суток господа. 

Пытаюсь настроить position в хлебных крошках на опенкарте. Так как я не специалист по PHP коду, я СЕО, и тем более переделываю как мне кажется страшно написанный код, нужна помощь. Нужно одну строчку вставить и всё.      

Там была простая логика — если элемент массива не последний, то выводится как ссылка, если последний — просто текст, что обычно и делается. А вы зачем-то вырезаете последний элемент, чтобы потом его же снова вставить. К чему эти действия? Если вам нужно изменение в последнем элементе — так и поменяйте этот вывод, он и так после else идет отдельным блоком. А если нужно добавить индекс — так и работайте с индексом i, выводя его где нужно. Добавьте строку meta  position в нужном месте и все.

Все остальные условия зачем было менять? Там по сути еще проверка на первый элемент содержащий значок home и меняющий текст на «Главная», она что, больше не нужна?

А то пишете, что нужно сделать только одно, а изменения затрагивают все подряд.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *