Magento getAttribute在list.phtml中不起作用?

时间:2014-04-24 09:37:38

标签: php magento

这是我用来获取属性的magento代码。

  echo $_product->getResource()->getAttribute('attrcode')->getFrontend()->getValue($_product);

此代码在view.phtml中正常工作,它返回属性代码值。

当我在list.phtml文件中编写相同代码时,此代码返回blank

我错了。请帮忙。

3 个答案:

答案 0 :(得分:8)

<?php echo $_product->getAttributeText('attrcode');?>

请在列表页面上使用该代码,并检查('在产品列表中使用':“是”)中的属性设置

答案 1 :(得分:0)

以下是代码获取属性名称和值,它不属于任何产品

$attributeCode = 'YOUR_ATTRIBUTE_CODE';

$product = Mage::getModel('catalog/product');

$productCollection = Mage::getResourceModel('eav/entity_attribute_collection')
->setEntityTypeFilter($product->getResource()->getTypeId())
->addFieldToFilter('attribute_code', $attributeCode);

$attribute = $productCollection->getFirstItem()->setEntity($product->getResource());
print_r($attribute->getData()); // print out the available attributes

$options = $attribute->getSource()->getAllOptions(false);
print_r($options);

答案 2 :(得分:0)

如果要在Magento 2 phtml文件中显示特定属性的所有值,请使用以下代码

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$eavConfig = $objectManager->get('\Magento\Eav\Model\Config');
$attribute = $eavConfig->getAttribute('catalog_product','attribute_code');
$values = $attribute->getSource()->getAllOptions();