Magento - Как переопределить административный блок Итоги продаж (Mage_Adminhtml_Block_Sales_Totals)
Я пытаюсь переопределить блок "Итоги продаж администратора" (Mage_Adminhtml_Block_Sales_Totals), расположенный в папке "/app/code/core/Mage/Adminhtml/Block/Sales/Totals.php".
Я объявляю свой модуль следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<CompanyName_Adminhtml>
<version>0.1.0</version>
</CompanyName_Adminhtml>
</modules>
<global>
<blocks>
<companyname_adminhtml>
<class>CompanyName_Adminhtml_Block_Adminhtml_Sales_Totals</class>
</companyname_adminhtml>
<adminhtml>
<rewrite>
<sales_totals>CompanyName_Adminhtml_Block_Adminhtml_Sales_Totals</sales_totals>
</rewrite>
</adminhtml>
</blocks>
</global>
</config>
Мой путь к классу модуля выглядит следующим образом: local/CompanyName_Adminhtml/Block/Adminhtml/Sales/Totals.php
и мой код класса начинается так:
class CompanyName_Adminhtml_Block_Adminhtml_Sales_Totals extends Mage_Adminhtml_Block_Sales_Totals {
// block methods goes here..
}
К сожалению, переопределение класса не работает, и я не получаю никаких ошибок в файлах журнала. Я использую Magento версии 1.7.0.2
В офисе magento я вижу, что мой модуль включен.
Любая помощь?
1 ответ
Попробуйте переопределить отдельный блок Totals.php, который находится в папке Mage/AdminHtml/Block/Sales/Order/ file, а не в главном файле Totals.php в папке Mage / AdminHtml / Block / Sales /.
Это сработало для меня. Как я хотел показать еще одну строку в блоке итоговых заказов.
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<CompanyName_Adminhtml>
<version>0.1.0</version>
</CompanyName_Adminhtml>
</modules>
<global>
<blocks>
<companyName_adminhtml>
<class>CompanyName_Adminhtml_Block</class>
</companyName_adminhtml>
<companyname_adminhtml>
<class>CompanyName_Adminhtml_Block_Adminhtml_Sales_Totals</class>
</companyname_adminhtml>
<adminhtml>
<rewrite>
<sales_order_totals>CompanyName_Adminhtml_Block_Adminhtml_Sales_Totals</sales_totals>
</rewrite>
</adminhtml>
</blocks>
</global>
</config>
then class
class CompanyName_Adminhtml_Block_Adminhtml_Sales_Order_Totalsextends Mage_Adminhtml_Block_Sales_Order_Totals {
protected function _initTotals() {
parent::_initTotals();
$this->_totals['foo_total'] = new Varien_Object(array(
'code' => 'purchasewrapping_total',
'value' => $this->getSource()->getFooTotal(),
'base_value'=> $this->getSource()->getBaseFooTotal(),
'label' => $this->helper('sales')->__('Foo'),
));
return $this;
}
}`enter code here`
Mage_Adminhtml_Block_Sales_Order_Totals is extends at Mage_Adminhtml_Block_Sales_Totals
and here you can extend and write your changes