Вы можете переписать родительский класс, но это будет применяться только к вызовам самого класса. Таким образом, этот вызов вернет правильно переопределенный класс:
Mage::getBlock("adminhtml/widget_tabs");
Это потому, что настоящее имя класса загружается Magento с использованием системы XML / overrides. Однако, если вы не переопределите дочерний класс, этот вызов не будет работать так, как вы ожидаете:
Mage::getBlock("admihtml/sales_order_view_tabs");
Это потому, что родительский класс не указан с использованием системы Magento, но использует обычный PHP:
class Mage_Adminhtml_Block_Sales_Order_View_Tabs extends Mage_Adminhtml_Block_Widget_Tabs
Если вы хотите переопределить родительский класс, система переопределения на основе XML не может вам помочь. Однако вы можете скопировать класс Widget_Tabs
в локальное пространство, и Magento загрузит его туда. Создайте путь к каталогу app/code/local/Mage/Adminhtml/Block/Widget/
и скопируйте в него Tabs.php
, и при необходимости вы сможете вносить изменения.
Надеюсь, это поможет.
Спасибо,
Джо