magento - 如何使用布局 xml 将我的自定义 block 放置在 Magento 中的另一个 block 中?

标签 magento

首先我想说的是,我在互联网上搜索了一整天,但找不到我想要的东西。我也是新人,如有违反请见谅。

我正在尝试开发一个模块,它将视频和图像一起添加到产品页面。我陷入了这个概念:

如何将我的 block 插入到现有的基本 block 中?例如,在产品页面中,有一个 block product.info。该 block 内有“可用性”、“价格”等。 如何使用模块的布局 xml 和模板将自定义 block 插入到“可用性”下方和“价格”上方。

所以我试图使用我的模块的布局文件来实现这样的事情:

 <catalog_product_view translate="label">
        <reference name="content">
            <reference name="product.info">
                WRITE BLOCK HERE SO THAT MY BLOCK SHOWS BELOW AVAILABLITY
            </reference>
        </reference>
    </catalog_product_view>

这可能吗?或者我是否必须重写核心类 Mage_Catalog_Block_Product_View 才能执行此操作?

PS:基本上我的目标是在图像旁边列出我的视频。现在,我可以从模块列出我的视频,但在这种情况下不会出现图像。我用过

<block type="myblock/myblock" name="somename" as="media" template="abc.phtml"/>

所以我想将我的 block 附加到现有内容中。

最佳答案

我解决了。我必须重写 Mage_Catalog_Block_Product_View_Media 。

在我的类里面,我重写了 _toHtml 函数,如下所示:

public function _toHtml()
{
    $html = parent::_toHtml();
    $html.=$this->getChildHtml('media_video');
    return $html;
}

其中“media_video”是我的 block 。我的布局 xml 文件:

<catalog_product_view translate="label">
    <reference name="content">
        <reference name="product.info">
            <reference name="product.info.media">
            <block type="myblock/myblock" name="somename" as="media_video" template="beta/abc.phtml"
                   before="-"/>
            </reference>
        </reference>
    </reference>
</catalog_product_view>

关于magento - 如何使用布局 xml 将我的自定义 block 放置在 Magento 中的另一个 block 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21953304/

相关文章:

javascript - 奇怪的 jQuery 错误 .children(...).attr(...).change 不是一个函数?

javascript - 未捕获错误 : Syntax error, 无法识别的表达式。转义字符?

magento - 无法获取 magento 设置脚本中的所有网站

java - Base64 错误 : The image contents is not valid base64 data java

magento - 在 Magento 中禁用系统 crontab 作业

magento - How to get all Magento Order status(列出所有magento订单状态)

magento - 更改所选 radio 上的文本

magento 开源整页缓存

magento - wamp tmp文件夹在本地运行magento时占用一些GB空间

magento - 打开简单产品时转发至可配置产品