我如何在Magento中Attribute model
获取eav_attribute
(来自: attribute_code
表)?
注意:
- 我不在乎什么是entity_type
非常感谢你。
答案 0 :(得分:52)
您必须知道entity_type
,因为您可以为不同的实体使用相同的attribute_code
。所以要获得属性模型:
$attributeModel = Mage::getModel('eav/entity_attribute')->loadByCode($entity_type, $attributeCode);
$entity_type
参数可以是numeric
(直接ID),string
(例如'catalog_product'
或Mage_Catalog_Model_Product::ENTITY
),也可以是模型{{ 1}}
答案 1 :(得分:3)
也许您可以通过过滤集合来阅读属性
Mage::getModel('eav/entity_attribute')->getCollection()->addFieldToFilter('attribute_code', array('in' => $codes) )
由于我需要代码中的Product属性,我这样做:
$codes = (array) $codes;
$res = array_intersect_key($this->getAttributes(), array_flip($codes));
$ codes是一个attribute_code-array 范围:扩展Mage_Catalog_Model_Product
答案 2 :(得分:3)
$attribute_code = "flat_printing_quantity";
$attribute_details =
Mage::getSingleton("eav/config")->getAttribute(Mage_Catalog_Model_Product::ENTITY, $attribute_code);
$attribute = $attribute_details->getData();
echo $attribute['attribute_id'];
答案 3 :(得分:0)
$ attributeModel = Mage :: getModel('eav / entity_attribute') - > loadByCode(1,'is_approved'); echo $ attributeModel-> getAttributeId();