Magento - 获取所有属性值

Posted

技术标签:

【中文标题】Magento - 获取所有属性值【英文标题】:Magento - get all attribute value 【发布时间】:2013-08-04 13:55:10 【问题描述】:

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

$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
            )
    ) 

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

谢谢。

【问题讨论】:

【参考方案1】:

您可以通过在调用 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);

【讨论】:

以上是关于Magento - 获取所有属性值的主要内容,如果未能解决你的问题,请参考以下文章

Magento - 如何以编程方式取消选中超级产品属性上的“使用默认值”?

Magento - 按属性分类产品

从 customer_entity_varchar 获取价值 - Magento

Magento 1.9 Multi Store不同的超级属性值

magento中根据用户的id获取用户的所有订单以及每个订单中的物品 以及物品的相关属性

Magento:获取属性代码