2014-09-23 171 views
1

我需要添加自定义属性到tabs.phtml文件,但是当我做: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/view/tabs.phtml上的非对象中调用成员函数getData()在线102

$ _product为NULL。

我在这里错过了什么?任何人都可以帮助我吗?

+0

您是否在产品页面上进行操作? – 2014-09-24 01:41:25

+1

如果是产品页面,则只需调用Mage :: registry('current_product') - > getData('color_availability'); – 2014-09-24 01:42:42

+0

简单而有效 – human 2014-09-24 08:10:54

回答

0

如果该产品,那么你可以在产品的任何地方使用注册表中获得的产品型号变量

如果是产品页面,则只需致电Mage::registry('current_product')->getData('color_availability');

4

你期望完成什么? tabs.phtml只是遍历所有可用的选项卡并显示其内容。 $ this-> getProduct不适用于此Block类型。

$这个 - > 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 ;?>