Answers:
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product', $attributeCode);
$id = $attribute->getId();
如果$id
是,null
则该属性不存在。
获取类别属性,客户属性和客户地址属性的工作原理相同。
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_category', 'is_anchor');
$attribute = Mage::getModel('eav/config')->getAttribute('customer', 'gender');
$attribute = Mage::getModel('eav/config')->getAttribute('customer_address', 'postcode');
[编辑]
显然我看不懂。我错过了那句话sql query
。
这也是一个查询:
SELECT
e.attribute_id
FROM
eav_attribute e
LEFT JOIN
eav_entity_type t
ON e.entity_type_id = t.entity_type_id
WHERE
e.attribute_code = 'image' AND
t.entity_type_code = 'catalog_product'
我使用此代码来获取eav_attribute表中的属性ID
$attribute_code = 'image';
$eavCollections = Mage::getModel('eav/entity_attribute')->getCollection()
->addFieldToFilter('attribute_code', array('eq'=> $attribute_code ));
foreach($eavCollections as $eavCollection){
$attribute_id = $eavCollection['attribute_id']; //get the attribute id
echo $attribute_id;
}
简短而有用:
Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product', 'color');
SELECT attribute_id FROM eav_attribute WHERE attribute_code = 'image' AND frontend_input = 'media_image'
,但是感谢您向我展示我必须在eav_attribute
表中查找。:)