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

OS
На сайте с 28.02.2020
Offline
28
165

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

Пытаюсь настроить 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>


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









Алеандр
На сайте с 08.12.2010
Offline
189
#1
OrganicSeo :

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

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

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

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

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

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