Produktbild -URL als Teil der Sammlungslast
-
16-10-2019 - |
Frage
Ist es möglich, dass die Produktbild -URL als Teil der Produktsammlung geladen wird?
zum Beispiel:
Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('*');
Dies fügt das Bild nicht hinzu.
Lösung
Mach es als solches:
$collection = Mage::getModel('catalog/product')->getCollection();
$backendModel = $collection->getResource()->getAttribute('media_gallery')->getBackend();
foreach($collection as $product){
$backendModel->afterLoad($product); //adding media gallery to the product object
var_dump($product->getData()); //you should see media gallery information here now
}
Dies lädt das Backend -Modell und findet das Mediengalerie -Attribut für die an $product
in der Schleife, anstatt das gesamte Produktmodell neu zu laden.
Andere Tipps
Diese funktionierten für mich
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('image');
foreach($collection as $product){
(string)Mage::helper('catalog/image')->init($product, 'image');
//Or with resize
(string)Mage::helper('catalog/image')->init($product, 'image')->resize(200);
}
Ich denke, Sie sollten in der Lage sein, über das Produkt auf die Bild -URL zugreifen zu können, wie z. B.:
$collection = Mage::getModel('catalog/product')->getCollection();
foreach ($collection as $product) {
echo $product->getImageUrl();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange