Magento在tabs.phtml中添加自定义属性

时间:2014-09-23 15:14:02

标签: php magento

我需要在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。

我在这里缺少什么?有人可以帮我吗?

2 个答案:

答案 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');