2011-09-26 13 views
19

में attribute_code द्वारा मॉडल गुण मैं Attribute model (eav_attribute मेज से) कैसे मिल सकता है जाओ?
नोटिस:
- मुझे कोई परवाह नहीं है कि entity_type क्या है।
आपको बहुत बहुत धन्यवाद।Magento

उत्तर

50

आपको entity_type पता होना चाहिए क्योंकि आपके पास अलग-अलग इकाइयों के लिए attribute_code हो सकता है। तो मॉडल का श्रेय प्राप्त करने के लिए:

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

$entity_type पैरामीटर numeric (आईडी सीधे) हो सकता है, string (उदाहरण के 'catalog_product' या Mage_Catalog_Model_Product::ENTITY के लिए) या यह मॉडल के उदाहरण हो सकता है Mage_Eav_Model_Entity_Type

+0

धन्यवाद। मैं आपको परिणाम की कोशिश करूँगा और पुष्टि करूंगा। – vietean

+0

मैंने यह पता लगाने के लिए उपरोक्त कोड का उपयोग किया है कि क्या लघु_डिस्क्रिप्शन 'फ्रंट-एंड पर उत्पाद दृश्य पृष्ठ पर दृश्यमान' है: $ विशेषताशक्तिशोधन = Mage :: getModel ('eav/entity_attribute') -> loadByCode ('catalog_product', 'short_description '); $ विशेषताशक्तिशोधन-> getIsVisibleOnFront(); –

+6

संस्करण स्थिरांक का उपयोग कर: $ _attr = Mage :: getModel ('eav/entity_attribute') -> loadByCode (Mage_Catalog_Model_Product :: ENTITY, $ विशेषता कॉड); –

0

$ attributeModel = दाना :: getModel ('eav/entity_attribute') -> loadByCode (1, 'is_approved'); $ विशेषता echoModel-> getAttributeId();

+0

न केवल इसमें डेटा है जो कई परिदृश्यों में से एक के लिए विशिष्ट है, लेकिन यह स्वीकृत उत्तर भी प्राप्त करता है, कोड स्वरूपित नहीं होता है और कोई स्पष्टीकरण नहीं होता है। –

3

शायद आप जब से मैं कोड से उत्पाद की विशेषताओं की जरूरत है फिल्टर द्वारा गुण संग्रह

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

पढ़ सकते हैं, मैं इसे इस तरह कार्य करें:

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

$ कोड एक attribute_code है -एरे स्कोप: विस्तारित 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'];