- Предупреждение администратору:
Системный класс «catalog/product_view» типа «block» перекрывают конфликтующие между собой классы: Df_Catalog_Block_Product_View [используется] Amasty_Meta_Block_Catalog_Product_View
- Источник предупреждения: модуль «Рекомендации администратору»
Описание способа устранения проблемы:
Классы Amasty_Meta_Block_Catalog_Product_View и Df_Catalog_Block_Product_View не перекрывают один и те же метод родительского системного класса Mage_Catalog_Block_Product_View.
Это позволяет решить конфликт стандартным способом: изменив иерархию наследования.
Если один из конфликтующих классов — класс Российской сборки Magento (имя начинается с «Df_»), то, как правило, именно его рекомендуется делать родительским классом: при таком подходе правки делаются вне Российской сборки Magento и не перетираются при обновлении Российской сборки Magento.
При этом обратите внимание, что по умолчанию система загружает конфликтующие классы в обратном лексикографическом (обратном алфавитном) порядке, и использует последний по порядку загрузки из конфликтующих классов.
По этой причине по умолчанию система использует класс Df_Catalog_Block_Product_View, а не класс Amasty_Meta_Block_Catalog_Product_View.
При назначении класса Df_Catalog_Block_Product_View родительским надо также изменить порядок загузки классов, чтобы система использовала именно класс
Amasty_Meta_Block_Catalog_Product_View, который, в свою очеред, станет потомком класса Df_Catalog_Block_Product_View и будет наследовать его реализацию.
Конкретная инструкция по устранению проблемы:
- Изменить иерархию наследования:
- Файл: app/code/local/Amasty/Meta/Block/Catalog/Product/View.php
- Строка: 6
- Что найти:
class Amasty_Meta_Block_Catalog_Product_View extends Mage_Catalog_Block_Product_View
- На что заметить:
class Amasty_Meta_Block_Catalog_Product_View extends Df_Catalog_Block_Product_View
- Файл: app/code/local/Amasty/Meta/Block/Catalog/Product/View.php
- Изменить порядок загрузки конфликтующих классов:
- Файл: app/etc/modules/Amasty_Meta.xml
- Строка: 4
- Что найти:
<Amasty_Meta> <active>true</active> <codePool>local</codePool> </Amasty_Meta>
- На что заметить:
<Amasty_Meta> <active>true</active> <codePool>local</codePool> <depends> <Df_Catalog/> </depends> </Amasty_Meta>
- Файл: app/etc/modules/Amasty_Meta.xml
- Удалить кэш.