Magento 2获取属性值

时间:2018-01-31 14:08:55

标签: php magento attributes magento2

我在Magento 2中创建了一个产品属性,它是一个下拉列表。 我给了这个属性很多选项。如何输出附加到属性代码/名称的所有这些可能选项?我只能找到Magento 1的示例或分配给产品的示例。我想获得分配给该属性的所有选项。

这是我在意识到它不适用于Magento 2之前所尝试的。

<?php
$attributeId = Mage::getResourceModel(‘eav/entity_attribute’)->getIdByCode(‘catalog_product’,’color’);
$collection = Mage::getResourceModel(‘eav/entity_attribute_option_collection’)
    ->setPositionOrder(‘asc’)
    ->setAttributeFilter($attributeId)
    ->setStoreFilter(0)
    ->load();
print_r($collection->getData());
?>

1 个答案:

答案 0 :(得分:1)

你可以尝试下面的代码

function getAttrAllOptions() {

$eavConfig = $this->objectManager->get('\Magento\Eav\Model\Config');
$attribute = $eavConfig->getAttribute('catalog_product', 'color');
$alloptions = $attribute->getSource()->getAllOptions();

foreach($alloptions as $option) {
    $label = $option['label'];
    $AllOptionsArr[$label][] = $option['value'];

}

return $AllOptionsArr;
}

希望这有帮助!