Вот что происходит с Magento при перезаписи класса.
Когда Magento создает экземпляр класса Block, он использует код, подобный следующему
$this->getLayout()->createBlock('adminhtml/widget_grid_column')
Метод createBlock
являетсязавод.Magento использует идентификатор
adminhtml/widget_grid_column
для поиска, какой класс должен быть создан.По умолчанию это
Mage_Adminhtml_Block_Widget_Grid_Column
Когда вы создаете свое переписывание, вы говорите Magento
Привет.вместо того, чтобы использовать 'Mage_Adminhtml_Block_Widget_Grid_Column' для 'adminhtml / widget_grid_column', вы должны использовать 'ABT_Background_Block_Widget_Grid_Column'
Это означает, что для любой данной системы один раз может быть записан только один класс:*.В приведенном выше коде вы пытаетесь переписать класс дважды.Только один из ваших переписывает победит.
Быстрый подход, который я выбрал бы, - это сохранить все ваши настройки в одном классе переопределения.
В более общем смысле, я стараюсь избегать переписываний, если это возможно,Это мощная система, но ее следует использовать экономно.Я не особо настраивал сетку, но общий подход, который я бы попытался использовать, состоял бы в том, чтобы изменить макет adminhtml для создания нового класса сетки из моего пользовательского модуля, который расширяет существующий класс сетки, которыйв свою очередь может использовать пользовательские классы столбцов.
Больше работайте заранее, но как только вы поймете это, вы сможете использовать эту технику снова и снова, не беспокоясь о конфликтах от переписывания.