我创建了一个自定义模块,我想在其中显示有关产品的一些信息。在 config.xml 我添加
<blocks>
<mymodule>
<class>Namespace_MyModule_Block</class>
</mymodule>
</blocks>
块类扩展了 Mage_Catalog_Block_Product_View。但我不能打电话
$this->getProduct()
根据模块 (mymodule.phtml) 在 *.phtml 文件中。xmls 配置得很好,所以我可以调用 .phtml
<?php echo $this->getChildHtml('mymodule'); ?>
但 $product 始终为空。根据模块 config.xml 中的配置 $this->getProduct() 应该访问 Mynamespace_MyModule_Block_View 并调用该函数。我尝试了一个只返回一个字符串值的虚拟函数,但这也不起作用。
我希望有人可以给我一个提示天气有一些缺失或错误的配置。
编辑 1:layout.xml 的内容
<?xml version="1.0"?>
<layout>
<catalog_product_view>
<reference name="product.info">
<block type="core/template" name="product_available_price" as="product_available_price"
template="productavailable/price.phtml"/>
<block type="core/template" name="product_available_info" as="product_available_info"
template="productavailable/info.phtml"/>
<block type="core/template" name="product_available_button" as="product_available_button"
template="productavailable/button.phtml"/>
</reference>
</catalog_product_view>
</layout>
在 button.phtml 我调用 $this->getProduct() 并且方法在 Mynamespace_MyModule_Block_Button