我在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 。
请帮帮我......
答案 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 );
}
}