2011-09-26 14 views

risposta

50

Devi conoscere entity_type perché puoi avere lo stesso attribute_code per diverse entità. Quindi, per ottenere attribuire modello:

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

$entity_type parametro può essere numeric (id direttamente), string (ad esempio 'catalog_product' o Mage_Catalog_Model_Product::ENTITY) oppure può essere un'istanza di modello Mage_Eav_Model_Entity_Type

+0

Grazie. Proverò a confermare il risultato. – vietean

+0

Ho usato il tuo codice qui sopra per scoprire se la descrizione breve è 'Visibile sulla pagina Visualizza prodotto sul front-end': $ attributeShortDescription = Mage :: getModel ('eav/entity_attribute') -> loadByCode ('catalog_product', 'short_description '); $ attributeShortDescription-> getIsVisibleOnFront(); Versione –

+6

utilizzando le costanti: $ _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

Non solo dispone di dati specifici per uno solo dei numerosi scenari, ma rispecchia anche la risposta accettata, il codice non è formattato e non vi sono spiegazioni. –

3

Forse si può leggere gli attributi di filtro della collezione

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

Da quando ho bisogno gli attributi dal Prodotto da codice, lo faccio in questo modo:

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

$ codici è un attribute_code -array Scopo: esteso 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'];