我创建了自己的模块,将相关产品添加到产品页面,这只展示了相同品牌/制造商的相关产品。
但是我遇到了模板文件无法在页面上显示的问题。
这是我到目前为止所拥有的。
应用/代码/小区/ CustomMod / RelatedBrand的/ etc / config.xml中
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<CustomMod_RelatedBrand>
<version>0.0.1</version>
</CustomMod_RelatedBrand>
</modules>
<global>
<blocks>
<relatedbrand>
<class>CustomMod_RelatedBrand_Block</class>
</relatedbrand>
</blocks>
</global>
</config>
应用/代码/小区/ CustomMod / RelatedBrand /砌块/ Related.php
<?php
class CustomMod_RelatedBrand_Block_Related extends Mage_Catalog_Block_Product_View {
public function _toHtml() {
echo "Block's _toHtml() method called!";
parent::_toHtml();
}
}
?>
然后在catalog.xml文件中,我在catalog_product_view区域添加了以下内容:
<block type="relatedbrand/related" name="related_brand" as="related_brand" template="relatedbrand/view.phtml"/>
然后在design / frontend / MYPACKAGE / default / relatedbrand / view.phtml中我有:
<?php echo 'HELLO'; ?>
同样在catalog / product / view.phtml中我添加了:
<?php echo $this->getChildHtml('related_brand') ?>
当我导航到产品页面时,我可以看到Block's _toHtml() method called!
但HELLO
未显示,我只是无法找出原因。有谁知道我可能错过了什么?
答案 0 :(得分:2)
这个
public function _toHtml() {
echo "Block's _toHtml() method called!";
parent::_toHtml();
}
应该是:
public function _toHtml() {
echo "Block's _toHtml() method called!";
return parent::_toHtml();
}
_toHtml
中的 Mage_Core_Block_Template
方法不会回显内容。它只是返回它。在您的情况下,该方法返回null
。