通过Magento中的attribute_code获取属性模型

时间:2011-09-26 07:20:02

标签: magento

我如何在Magento中Attribute model获取eav_attribute(来自: attribute_code 表)? 注意:
- 我不在乎什么是entity_type 非常感谢你。

4 个答案:

答案 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();