@pcdesign

Как пофиксить breadcrumb в Magento?

Если напрямую зайти на страницу, то клебные крошки такие:
Главная > Славянский шкаф
А если зайти в каталог, и внутри каталога кликнуть на товар, то клебные крошки вот такие:
Главная > Шкафы > Славянский шкаф

Как сделать, чтобы хлебные крошки всегда имели вид:
Главная > Название каталога > Название товара
Версия магенто 1.9.0.1

<?php if($crumbs && is_array($crumbs)): ?>
<div class="breadcrumbs">
    <ul>
        <?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
            <li class="<?php echo $_crumbName ?>">
            <?php if($_crumbInfo['link']): ?>
                <a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->htmlEscape($_crumbInfo['title']) ?>"><?php echo $this->htmlEscape($_crumbInfo['label']) ?></a>
            <?php elseif($_crumbInfo['last']): ?>
                <strong><?php echo $this->htmlEscape($_crumbInfo['label']) ?></strong>
            <?php else: ?>
                <?php echo $this->htmlEscape($_crumbInfo['label']) ?>
            <?php endif; ?>
            <?php if(!$_crumbInfo['last']): ?>
                <span>></span>
            <?php endif; ?>
            </li>
        <?php endforeach; ?>
    </ul>
</div>
<?php endif; ?>
  • Вопрос задан
  • 532 просмотра
Решения вопроса 1
@fascinosum
PHP/Magento Developer
Во-первых "Шкафы" это не каталог, а категория. Во-вторых редко товар состоит только в одной категории. Из этого следует неоднозначность конечного варианта breadcrumbs если переход произошёл с главной. Лично мое мнение breadcrumbs по дефолту работают логично - отображают реальный путь.

Но можно переписать логику breadcrumbs для продуктовой странице и изменять их в случае прямого перехода не со страницы категории. Получить ids категорий продукта $product->getCategoryIds() и взять первую, template - page/html/breadcrumbs.phtml

P.S. И это не пофиксить, а кастомизировать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы