Как устранить конфликт Fishpig_AttributeSplash_Block_Product_View_Attributes и Df_Catalog_Block_Product_View_Attributes

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

19.11.2014 03:50

Описание проблемы:
  • Предупреждение администратору:
    Системный класс «catalog/product_view_attributes» типа «block» перекрывают конфликтующие между собой классы:
        Fishpig_AttributeSplash_Block_Product_View_Attributes [используется]
        Df_Catalog_Block_Product_View_Attributes

  • Источник предупреждения: модуль «Рекомендации администратору»

Описание способа устранения проблемы:
Классы Fishpig_AttributeSplash_Block_Product_View_Attributes и Df_Catalog_Block_Product_View_Attributes перекрывают один и те же метод getAdditionalData родительского системного класса Mage_Catalog_Block_Product_View_Attributes.

Однако, если посмотреть реализацию этого метода у конфликтующих классов, то можно заметить, что этот метод у класса Fishpig_AttributeSplash_Block_Product_View_Attributes перед собственной реализацией вызывает родительскую:
$additionalData = parent::getAdditionalData($excludeAttr); 


Это позволяет решить конфликт стандартным способом: изменив иерархию наследования и назначив при этом класс Df_Catalog_Block_Product_View_Attributes родителським: тогда метод getAdditionalData класса-наследника Fishpig_AttributeSplash_Block_Product_View_Attributes вызовет родительскую реализацию этого метода.

Конкретная инструкция по устранению проблемы:
  • Изменить иерархию наследования:
    • Файл: app/code/community/Fishpig/AttributeSplash/Block/Product/View/Attributes.php
    • Строка: 9
    • Что найти:
      class Fishpig_AttributeSplash_Block_Product_View_Attributes extends Mage_Catalog_Block_Product_View_Attributes

    • На что заметить:
      class Fishpig_AttributeSplash_Block_Product_View_Attributes extends Df_Catalog_Block_Product_View_Attributes

  • Удалить кэш.


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