1

我有必要获得“颜色”属性的所有含义的列表。当我使用此代码时

$name='color';
$attributeInfo = Mage::getResourceModel('eav/entity_attribute_collection')->setCodeFilter($name)->getFirstItem();
$attributeId = $attributeInfo->getAttributeId();
$attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId);
$attributeOptions = $attribute ->getSource()->getAllOptions(false); 

在那种情况下,我会得到这样的列表:

 (
        [0] => Array
            (
                [value] => 6
                [label] => blueAdmin
            )
        [1] => Array
            (
                [value] => 5
                [label] => coralAdmin
            )
        [2] => Array
            (
                [value] => 3
                [label] => redAdmin
            )
        [3] => Array
            (
                [value] => 4
                [label] => limeAdmin
            )
    ) 

它是网站管理部分中显示的所有含义的列表。如何获取商店中显示的属性的所有含义列表,而不是在网站的管理部分中?

谢谢你。

4

1 回答 1

2

您可以通过在调用 getAllOptions() 之前在属性上设置商店 ID 来获取特定商店的属性选项值,例如,

$attributeOptions = $attribute->setStoreId(1)->getSource()->getAllOptions(false);

获取 ID 为 1 的商店的选项值。您可以使用以下命令获取当前商店的 ID

Mage::app()->getStore()->getId();

所以像这样的东西应该可以让你得到你想要的:

$storeId = Mage::app()->getStore()->getId();
$attributeOptions = $attribute->setStoreId($storeId)->getSource()->getAllOptions(false);
于 2014-10-31T20:45:08.703 回答