获取magento中属性集的属性

时间:2013-09-05 04:05:35

标签: magento

如何找到产品属性集的值?

例如,

  1. 衬衫,我需要获得所有活动属性,如颜色,大小和 性别。

  2. 手机,我需要获得所有活动属性,如颜色(大小 电话不存在属性)

  3. 如何找到产品属性集的值?

    我能够通过以下方式获取属性设置值:

     $product = Mage::getModel('catalog/product')->load($productId); 
       $prodAttributeSet = Mage::getModel('eav/entity_attribute_set')->load($product->getAttributeSetId())->getAttributeSetName();
    

2 个答案:

答案 0 :(得分:3)

Mage::getModel('catalog/product_attribute_set_api')->items($setId);

该类是Mage_Catalog_Model_Product_Attribute_Api它似乎有两种方法。 items()方法似乎按照您的要求进行,即“Retrieve attributes from specified attribute set

您也可以参考

http://www.blog.magepsycho.com/playing-with-attribute-set-in-magento/

$attributes = Mage::getModel('catalog/product_attribute_api')->items($attributeSetId);
foreach($attributes as $_attribute){
    print_r($_attribute);
}

良好的属性集文档

http://www.blog.magepsycho.com/playing-with-attribute-set-in-magento/

希望这对你有所帮助。

答案 1 :(得分:2)

您不一定需要访问API类。有一种更自然的方法。如果您有产品:

/** @var Mage_Catalog_Model_Product $product **/
$attributes = $product->getTypeInstance(true)->getSetAttributes($product);

如果不是:

$attributes = Mage::getModel('catalog/product')->getResource()
  ->loadAllAttributes()
  ->getSortedAttributes($attributeSetId);