существующий метод magento переписать с помощью модуля


У меня есть несколько модификаций основных файлов в моей папке app/code/local/Mage, но я не хочу, чтобы они работали как модуль magento.

Мой пример: Я сделал несколько небольших изменений в методе getValueHtml в файле Mage/Bundle/Block/Sales/Order/Items/Renderer.php и теперь я не хочу, чтобы этот переписанный метод использовался.

Я следил за онлайн-учебниками по переписыванию блоков, но это не работает для меня. Я что-то упускаю, но не могу понять, что именно. Это мой модуль файлы:

App/code/local/MyCompany/Bundleproducts/etc/config.xml :

<?xml version="1.0"?>
<config>
 <modules>
    <MyCompany_Bundleproducts>
        <version>1.0.0</version>
    </MyCompany_Bundleproducts>
 </modules>
 <global>
  <blocks>
      <bundle>
         <rewrite>
              <sales_order>MyCompany_Bundleproducts_Block_Sales_Order_Items_Renderer</sales_order>
          </rewrite>
      </bundle>
  </blocks>
 </global>
</config>

App/code/local/MyCompany/Bundleproducts/Block/Sales/Order/Items/Renderer.php :

<?php
class MyCompany_Bundleproducts_Block_Sales_Order_Items_Renderer extends Mage_Bundle_Block_Sales_Order_Items_Renderer
{
    public function getValueHtml($item)
    {
        if ($attributes = $this->getSelectionAttributes($item)) {
            return sprintf('%d', $attributes['qty']) . ' TEST ' .
                $this->escapeHtml($item->getName());
        } else {
            return $this->escapeHtml($item->getName());
        }
    }
}

И app/etc/modules/MyCompany_Bundleproducts.xml

<?xml version="1.0"?>
<config>
    <modules>
        <MyCompany_Bundleproducts>
            <active>true</active>
            <codePool>local</codePool>
        </MyCompany_Bundleproducts>
    </modules>
</config>

Может ли кто-нибудь указать мне правильное направление? Спасибо!

Author: Iztok, 2015-06-24

2 answers

Ваша перезапись блока должна быть такой

<blocks>
      <bundle>
         <rewrite>
              <sales_order_items_renderer>MyCompany_Bundleproducts_Block_Sales_Order_Items_Renderer</sales_order_items_renderer>
          </rewrite>
      </bundle>
  </blocks>
 3
Author: Pradeep Sanku, 2015-06-24 08:17:11

При переопределении необходимо указать полный путь к основному блоку. Это config.xml код

<?xml version="1.0"?>
<config>
 <modules>
    <MyCompany_Bundleproducts>
        <version>1.0.0</version>
    </MyCompany_Bundleproducts>
 </modules>
 <global>
  <blocks>
      <bundle>
         <rewrite>
              <sales_order_items_renderer>MyCompany_Bundleproducts_Block_Sales_Order_Items_Renderer</sales_order_items_renderer>
          </rewrite>
      </bundle>
  </blocks>
 </global>
</config>
 3
Author: Manashvi Birla, 2015-06-24 08:19:35