addFieldToFilter non ritorno valori di attributo
-
16-10-2019 - |
Domanda
Ho un attributo di prodotto chiamato remote_image_link. Quando ho recuperare un prodotto utilizzando questo codice:
$mageProduct = Mage::getModel('catalog/product')
->getCollection()
->addFieldToFilter('sku',"1234")->getFirstItem();
E poi cercare di ottenere il valore dell'attributo RemoteImageLink,
$mageProduct->getRemoteImageLink()
Non viene restituito nulla. Ma quando aggiungo questo codice:
$mageProduct = Mage::getModel('catalog/product')->load($mageProduct->getId());
Poi funziona e posso ottenere un valore per l'attributo remote_image.
Come mai devo carico di chiamate, non sono io carico con l'addFieldToFileter
Soluzione
Prima di tutto l'uso addAttributeToFilter
invece di addFieldToFilter
. È più pulito in questo modo.
E recuperare il prodotto in questo modo:
$mageProduct = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('remote_image_link')
->addAttributeToFilter('sku',"1234")->getFirstItem();
Quando si ottiene una collezione non tutti gli attributi vengono aggiunti alla collezione. È necessario aggiungere manualmente gli attributi che devi.
Se per qualche ragione che non funziona, impostare l'attributo di remote_image_link
essere Used in product listing
.