2011-09-26 19 views

Trả lời

50

Bạn phải biết entity_type vì bạn có thể có cùng một attribute_code cho các thực thể khác nhau. Vì vậy, để có được mô hình thuộc tính:

$attributeModel = Mage::getModel('eav/entity_attribute')->loadByCode($entity_type, $attributeCode); 

$entity_type tham số có thể numeric (id trực tiếp), string (ví dụ 'catalog_product' hoặc Mage_Catalog_Model_Product::ENTITY) hoặc nó có thể được thể hiện của mô hình Mage_Eav_Model_Entity_Type

+0

Cảm ơn. Tôi sẽ cố gắng và xác nhận kết quả cho bạn. – vietean

+0

Tôi đã sử dụng mã của bạn ở trên để tìm hiểu xem short_description có 'Hiển thị trên Trang xem sản phẩm trên Giao diện người dùng' hay không: $ attributeShortDescription = Mage :: getModel ('eav/entity_attribute') -> loadByCode ('catalog_product', 'short_description '); $ attributeShortDescription-> getIsVisibleOnFront(); –

+6

phiên bản sử dụng các hằng số: $ _attr = Mage :: getModel ('eav/entity_attribute') -> loadByCode (Mage_Catalog_Model_Product :: ENTITY, $ attributeCode); –

0

$ attributeModel = Mage :: getModel ('eav/entity_attribute') -> loadByCode (1, 'is_approved'); echo $ attributeModel-> getAttributeId();

+0

Điều này không chỉ có dữ liệu chỉ dành riêng cho một trong nhiều kịch bản mà còn phản hồi câu trả lời được chấp nhận, mã không được định dạng và không có giải thích. –

3

Có lẽ bạn có thể đọc các thuộc tính của bộ lọc bộ sưu tập

Mage::getModel('eav/entity_attribute')->getCollection()->addFieldToFilter('attribute_code', array('in' => $codes)) 

Vì tôi cần các thuộc tính từ các sản phẩm theo mã, tôi làm điều đó như thế này:

$codes = (array) $codes; 
    $res = array_intersect_key($this->getAttributes(), array_flip($codes)); 

$ mã là một attribute_code -array Phạm vi: mở rộng Mage_Catalog_Model_Product

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']; 
Các vấn đề liên quan