如何在magento中显示新添加的属性?

时间:2015-03-29 10:34:33

标签: php magento attributes

我在Magento添加了一个新属性。

 Attribute Label -> Weight Available 
 Attribute code -> weight_multi
 input type -> multiple select 
 values are -> 1,1.5,2,2.5,3,3.5,4,4.5,5

现在我希望echo页面中的Weight Available属性。

要显示产品的Name,我们可以使用echo $_product->getName();

如何显示Weight Available属性?

$_product对象包含所有产品详细信息。

但是当我尝试

var_dump($_product->weight_multi);这给出了

string(26) "30,29,28,27,26,25,24,23,22"

奇怪的是预期值为1,1.5,2,2.5,3,3.5,4,4.5,5。 我怎么解决这个?以及如何按代码在页面中显示新添加的属性。

我试过了echo $_product->getWeight_multi();。但没有运气..

我正在使用 Magento 1.9.0.1

请帮帮我......

2 个答案:

答案 0 :(得分:1)

您可以打印这样的值:

print_r($_product->getWeightMulti());

如果要在产品页面中显示属性。转到管理面板 - >目录 - >属性 - >管理属性 - >选择要编辑的属性

在那里你会发现"在前端的产品视图页面上可见"设置为yes然后它将显示在产品页面中。

在管理面板中检查是否有任何警告,然后刷新索引和刷新缓存。

答案 1 :(得分:1)

  

您必须将属性添加到收藏过滤器或加载每个产品,以便您可以访问其所有属性:

require_once( 'app/Mage.php' );

umask(0);
Mage::app('default');

$sCustomerId = 1;
$oQuotes = Mage::getModel( 'sales/quote' )->getCollection();
$oQuotes->addFieldToFilter( 'customer_id', $sCustomerId );
foreach( $oQuotes as $oQuote )
{
    var_dump( $oQuote->getId() );
    var_dump( $oQuote->getData( 'customer_email' ) );
    var_dump( $oQuote->getData( 'customer_id' ) );

    $oItems = Mage::getModel( 'sales/quote_item' )
        ->getCollection()
        ->setQuote( $oQuote );
    foreach( $oItems as $oItem )
    {
        $oProduct = $oItem->getProduct();
        $oProductModel = Mage::getModel( 'catalog/product' )->load( $oProduct->getId() );
        $sWeight = $oProductModel->getData( 'weight_multi' );
        var_dump( $sWeight );
        $sFormat  = $oProductModel->getAttributeText( 'weight_multi' );
        var_dump( $sFormat );
    }
}