Как добавлять статьи в верхнее товарное меню при использовании модуля TemplateMela TM Custom Menu

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

05.11.2013 21:37

Оформительские темы TemplateMela (в частности, «Beauty» и «Fancy Shop») содержат нестандартный модуль «TM Custom Menu» для верхнего товарного меню.

Этот модуль требуется донастроить для совместимости с фунциональностью добавления произвольных статей в товарное меню Российской сборки Magento:

  • Файл: app/etc/modules/TM_CustomMenu.xml
    Вероятная строка: 4
    Что найти:
    <TM_CustomMenu>
        <active>true</active>
        <codePool>local</codePool>
    </TM_CustomMenu>

    На что заменить:
    <TM_CustomMenu>
        <active>true</active>
        <codePool>local</codePool>
        <depends>Df_Catalog</depends>
    </TM_CustomMenu>

  • Файл: app/code/local/TM/CustomMenu/Block/Navigation.php
    Вероятная строка: 3
    Что найти:
    class TM_CustomMenu_Block_Navigation extends Mage_Catalog_Block_Navigation

    На что заменить:
    class TM_CustomMenu_Block_Navigation extends Df_Catalog_Block_Navigation

  • Файл: app/code/local/TM/CustomMenu/Block/Navigation.php
    Вероятная строка: 11
    Что найти:
    if (Mage::helper('catalog/category_flat')->isEnabled())

    На что заменить:
    if ($parent instanceof Varien_Data_Tree_Node) {
        /** @var Varien_Data_Tree_Node $parent */
        $children = $parent->getData('children_nodes');
        $childrenCount = count($children);
    }
    else if (Mage::helper('catalog/category_flat')->isEnabled())

После этого произвольные самодельные страницы (в том числе статьи) должны успешно добавляться в товарное меню:
Прикрепленное изображение: magento-standard-cms-page-in-the-product-menu.png

#2 Александр Самодайкин
  • Группа: Клиент
  • Сообщений: 9
  • Регистрация: 28.06.2014

26.07.2014 20:51

Все сделал как написано!
Проблема (Системный класс «catalog/navigation» типа «block» перекрывают конфиктующие между собой классы: TM_CustomMenu_Block_Navigation [используется] Df_Catalog_Block_Navigation) не решена.
Прикладываю файлы!

Прикрепленные файлы



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

26.07.2014 21:52

Я понял, в чём дело. Данная инструкция устраняет конфликт, однако не устраняет сообщение о конфликте.Для устранения сообщения о конфликте надо либо дополнительно убрать конфликтующую директиву rewrite для того класса, который стал родителем для второго конфликтующего класса, либо просто скрыть данное сообщение посредством ссылки в правом нижнем углу сообщения.

#4 Александр Самодайкин
  • Группа: Клиент
  • Сообщений: 9
  • Регистрация: 28.06.2014

26.07.2014 21:57

Спасибо за совет. Подскажите, где можно почитать про то, как "убрать конфликтующую директиву rewrite"?
Статьи в верхнее меню у меня добавляются.

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

27.07.2014 16:12

Как устранить конфликт одновременного перекрывания одного и того же системного класса изменением иерархии наследования?

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

02.09.2014 19:13

Начиная с версии 2.37.0.6, конфликтующую директиву rewrite можно не удалять.
Смотрите комментарий к пункту 8 инструкции Как устранить конфликт одновременного перекрывания одного и того же системного класса изменением иерархии наследования?

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