我需要在tabs.phtml文件中添加自定义属性,但是当我这样做时:
<?php
$_product = $this->getProduct();
echo $_product->getData('color_availability');
?>
它引发了以下错误:
致命错误:在/var/www/vhosts/website.co.uk/httpdocs/app/design/frontend/customtemplate/default/template/catalog/product中的非对象上调用成员函数getData()第102行的/view/tabs.phtml
$ _ product为NULL。
我在这里缺少什么?有人可以帮我吗?
答案 0 :(得分:4)
你想要完成什么? tabs.phtml只是遍历所有可用的选项卡并显示其内容。 $ this-&gt; getProduct不适用于此Block类型。
$ this-&gt; getProduct()不会是产品对象
你需要这样做:
<?php
//Get the current product
$productId = Mage::registry('current_product')->getId();
//Load the current product
$_product = Mage::getModel('catalog/product')->load($productId);
//Get the attribute data of the loaded product
$color_availability = $_product->getData('color_availability');
//This may not work. Depends upon what kind of attribute color_availability is
//If this doesn't work let me know
?>
<!-- echo the value -->
<?php echo $color_availability ;?>
答案 1 :(得分:0)
如果是这个产品,那么您可以使用注册表变量
在产品的任何地方获得产品型号如果是产品页面,则只需致电Mage::registry('current_product')->getData('color_availability');