0

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

例如,

  1. 衬衫,我需要获得所有的活动属性,如颜色、尺寸和性别。

  2. 手机,我需要获取所有活动属性,如颜色(手机不存在尺寸属性)

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

我可以通过以下方式获取属性集值:

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

2 回答 2

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/

希望这对你有帮助。

于 2013-09-05T04:38:29.317 回答
2

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

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

如果不:

$attributes = Mage::getModel('catalog/product')->getResource()
  ->loadAllAttributes()
  ->getSortedAttributes($attributeSetId);
于 2014-02-12T00:04:29.817 回答