Есть дублированные перезаписи для: Блоков: adminhtml/вкладка редактирования каталога продукта super config


Я только что начал использовать PhpStorm и установил на него модуль Magento. Когда я открываю свой проект сейчас, я получаю сообщение об ошибке, которое There are duplicated rewrites for: Blocks: adminhtml/catalog_product_edit_tab_super_config

Глядя в код, я думаю, что это связано с тем, что я использую два расширения, образцы CJM и быстрые конфигурации QS, как в их config.xml ссылка:

CJM:

<adminhtml>
 <rewrite>
  <catalog_product_edit_tab_super_config>CJM_ColorSelectorPlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Super_Config</catalog_product_edit_tab_super_config>
 </rewrite>
</adminhtml>

Быстрые настройки QS

<adminhtml>
 <rewrite>
  <catalog_product_edit_tab_super_config>QS_Quickconfigurables_Block_Adminhtml_Catalog_Product_Edit_Tab_Super_Config</catalog_product_edit_tab_super_config>
 </rewrite>
</adminhtml>

Не имея полного представления о внутренней работе Magento, я немного застрял, как это исправить, я подумал, может быть, удалить правило перезаписи QS, а затем в соответствующем Config.php изменение

class QS_Quickconfigurables_Block_Adminhtml_Catalog_Product_Edit_Tab_Super_Config extends Mage_Adminhtml_Block_Catalog_Product_Edit_Tab_Super_Config implements Mage_Adminhtml_Block_Widget_Tab_Interface

До

class QS_Quickconfigurables_Block_Adminhtml_Catalog_Product_Edit_Tab_Super_Config extends CJM_ColorSelectorPlus_Block_Adminhtml_Catalog_Product_Edit_Tab_Super_Config implements Mage_Adminhtml_Block_Widget_Tab_Interface

Но понятия не имеете, правильно ли это делать?

Author: bateman_ap, 2013-12-04

1 answers

Вопрос в том, перезаписывают ли они одно и то же поведение (он же метод), если да, то у вас проблема. Если нет, вы можете просто расширить один класс от другого, и все будет в порядке.

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

Они перезаписывают один и тот же метод

Если они перезаписывают один и тот же метод, вы должны проверить, что они делают, и скопировать код вместе. Я рекомендую иметь свой собственный модуль, добавить зависимость от обоих модулей (поэтому ваша конфигурация загружается после двух других), затем вы можете добавить перезапись для блока своим собственным блоком и вставить туда код, который вы копируете.

 1
Author: Fabian Blechschmidt, 2020-06-15 08:30:17