2013-08-04 66 views
1

我需要获取“color”属性的所有含义列表。当我使用此代码Magento - 获取所有属性值

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

这是显示在网站的管理的一部分的所有含义的列表。我怎样才能得到在店铺中显示的属性的所有含义列表,而不是在管理部门的网站中?

谢谢。

回答

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