Переопределение исходного кода для блока в Magento

#magento #module #customization #block

#магенто #модуль #настройка на заказ #блок #magento #настройка

Вопрос:

Я пишу модуль для расширения Core/Catalog/Product/View/Media.php класс, чтобы я мог предоставлять новые методы в моем шаблоне. Я следовал ряду онлайн-руководств, включая превосходную серию Alan Storms, но не имел особого успеха. ( http://alanstorm.com/magento_config )

Я разместил свой код на Github: https://github.com/razialx/Magento-Overwrite-Block

Я не получаю никаких ошибок в журналах, это просто не загружает мой класс. Очень озадачен.

Одна из моих мыслей заключалась в том, что я, возможно, смогу переписать только те классы, которые определены явно. Я знаю, что класс Mage_Catalog_Block_Product_View_Media никогда не определяется в файле конфигурации, хотя я предполагаю, что на него ссылается XML-файл layout catalog.xml

 <block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
  

Ответ №1:

Ваш config.xml немного не работает. Попробуйте следующее.

  <config>
    <modules>
        <Test_Catalog>
            <version>1.0.0.0.0</version>
        </Test_Catalog>
    </modules>
    <global>
        <blocks>
            <catalog>
                <rewrite>
                    <product_view_media>Test_Catalog_Block_Product_View_Media</product_view_media>
                </rewrite>
            </catalog>
        </blocks>
    </global>
</config>
  

Ваш <blocks> узел должен быть заключен в <global> узел.

Комментарии:

1. Да. Это было все. Извините, что побеспокоил вас этим.

2. Если бы это беспокоило, я бы проигнорировал это 🙂