Пропал элемент из хлебных крошек

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

15.07.2011 11:47

Здравствуйте!

Глюк в breadcrumbs или не отображается имя раздела.

Т.е. как вывести так:
Главная / Ювелирный каталог / Кольца / Серебряное кольцо
Вместо:
Главная / Ювелирный каталог / Серебряное кольцо

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

15.07.2011 12:25

Хлебные крошки в Magento соответствуют иерархии товара.

#3 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

15.07.2011 12:40

Так товар и находиться в "Главная / Ювелирный каталог / Кольца / Товар..."
а не в "Главная / Ювелирный каталог / Товар..."

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

15.07.2011 12:42

может быть, товар расположен сразу в нескольких товарных разделах?

#5 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

15.07.2011 12:47

Нет... все товары расположены как на картинке..

Прикрепленные изображения

  • Прикрепленное изображение: Untitled-1.jpg


#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

15.07.2011 12:50

Установлен ли у товарного раздела "Кольца" флаг "Include in Navigation Menu"?

#7 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

15.07.2011 13:05

С выбором "Да" или "Нет", результат одинаковый..

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

15.07.2011 13:06

Была ли она включена или нет?
Установлен ли флаг "Is Anchor"?
Актуален ли кеш?

#9 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

15.07.2011 13:10

Была включена
флаг "Is Anchor" - включен
Чистку кеша осуществлял после действий.

#10 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

15.07.2011 13:12

Попробуйте отсключить сторониие модули, переключиться на стандартную тему и сравнить стандартный код сайта с эталонным.

#11 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

15.07.2011 13:24

Хорошо, позже отпишу о результатах.

#12 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

26.07.2011 16:28

Отписываюсь о результатах.

Суть такая: Есть каталог с подразделениями (кольца, броши и т.д.) Когда я захожу в подразделение например Ювелирный каталог -> Кольца, то в крошках все нормально (Главная / Ювелирный каталог / Кольца / Товар), а если я захожу с общего каталога в товар, где показываются все товары, то крошки выглядят (Главная / Ювелирный каталог / Товар).
Можно ли заставить бредкампс понять что бы при заходе с общего каталога он выводил путь полностью с расположением товара в том или ином разделе?

#13 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

26.07.2011 19:48

Можно. Мой модуль Поисковая оптимизация способен автоматически перенаправлять посетителя на эталонный адрес товарной страницы.
Это сделано для поисковой оптимизации, но и вашу проблему должно решать.

#14 Solven
  • Группа: Пользователь
  • Сообщений: 44
  • Регистрация: 02.07.2011

27.07.2011 21:37

Проблема решается следующим кодом:
<?php
if ($product = Mage::registry('current_product')) {
    $categories = $product->getCategoryCollection()->load();
    
    if($categories) {
        foreach ($categories as $category)
        {
            if($category) {
                $category = Mage::getModel('catalog/category')->load($category->getId());
                break;
            }
        }
    }
    $lastCrumbName = $product->getName();
    $lastCategoryAdjust = 0;
}
else {
    if($category = Mage::registry('current_category')) {
        $lastCrumbName = $category->getName();
    }
    $lastCategoryAdjust = 1;
}

if($category) {
    if($path = $category->getPath()) {
        $path = explode('/', $path);
        $crumbs = array('home' => array('label' => 'Home',
                        'title' => 'Home',
                        'link' => Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB),
                        'first' => true,
                        'last' => false
        ));
        for($i = 2; $i < count($path) - $lastCategoryAdjust; $i++) {
            $cur_category = Mage::getModel('catalog/category')->load($path[$i]);
            if($cur_category && $cur_category->getIsActive()) {
                $crumbs['category' . $path[$i]] = array('label' =>  $cur_category->getName(),
                                  'title' => $cur_category->getName(),
                                  'link' => $cur_category->getUrl(),
                                  'first' => false,
                                  'last' => false
                );
            }
        }
        $crumbs['current'] = array('label' => $lastCrumbName,
                       'title' => '',
                       'link' => '',
                       'first' => false,
                       'last' => true
        );
    }
}
?>


Код вставляется в файл breadcrumbs.phtml. В самом верху перед <ul class="breadcrumbs">.

Данный код лечит проблему хлебных крошек когда с общего каталога заходим в товар, то хлебные крошки выглядят так:
Главная -> Главный раздел -> Товар
В данном же случае выглядит правильно:
Главная -> Главный раздел -> Под Раздел -> Товар

Думаю, кому ни будь тоже будет полезна данная информация!

Поделиться темой: