首先,我想说我已经在互联网上搜索了这整天,但找不到我想要的东西.我也是新手,所以如果我违反任何规则,请原谅我.
我正在尝试开发一个模块,它将视频添加到产品页面以及图像.我陷入了这个概念:
如何将块插入现有基块?例如,在产品页面中,有一个块product.info.在此块中有"可用性","价格"等.如何使用我的模块的布局xml和模板在"可用性"下方和"价格"上方插入我的自定义块.
所以我试图用我的模块的布局文件来实现这样的东西:
<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>
Run Code Online (Sandbox Code Playgroud)
这可能吗 ?或者我是否必须覆盖核心类Mage_Catalog_Block_Product_View来执行此操作?
PS:基本上我的目标是在图像旁边列出我的视频.现在,我可以从模块中列出我的视频,但在这种情况下不会出现图像.我用了
<block type="myblock/myblock" name="somename" as="media" template="abc.phtml"/>
Run Code Online (Sandbox Code Playgroud)
所以我想将我的块添加到现有内容中.
我解决了。我必须重写 Mage_Catalog_Block_Product_View_Media 。
在我的课堂上,我重写了 _toHtml 函数,如下所示:
public function _toHtml()
{
$html = parent::_toHtml();
$html.=$this->getChildHtml('media_video');
return $html;
}
Run Code Online (Sandbox Code Playgroud)
其中“media_video”是我的块。我的布局 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>
Run Code Online (Sandbox Code Playgroud)