【问题标题】:Override code-behind for a block in Magento覆盖 Magento 中块的代码隐藏
【发布时间】:2011-04-25 17:13:40
【问题描述】:

我正在编写一个模块来扩展 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 文件 catalog.xml 引用

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

【问题讨论】:

    标签: magento module customization block


    【解决方案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>
    

    您的&lt;blocks&gt; 节点需要包含在&lt;global&gt; 节点中。

    【讨论】:

    • 是的。就是这样。很抱歉打扰您了。
    • 如果麻烦我会忽略它:)
    猜你喜欢
    • 2014-12-31
    • 2017-07-12
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    相关资源
    最近更新 更多