TL; DR : Bagaimana cara memuat gambar / galeri produk tanpa memuat seluruh produk?
Saya ingin memuat gambar pada suatu produk. Apa yang saya lakukan di .phtml
$_popularCollection = $this->getPopularCollection();
foreach ($_popularCollection as $_product):
// the rest
$mediaGallery = $_product->getMediaGalleryImages();
endforeach;
//the rest
Apa yang saya lakukan di kelas Blok:
public function getPopularCollection() {
// http://magento.stackexchange.com/q/5838/3089
// no category
if ( is_null( $this->getCategoryId() ) )
return false;
/** @var Mage_Catalog_Model_Category $category */
$category = Mage::getModel('catalog/category')->load( (int)$this->getCategoryId() );
/** @var Mage_Catalog_Model_Resource_Product_Collection $_popularCollection */
$_popularCollection = Mage::getModel('catalog/product')->getResourceCollection();
$_popularCollection->addAttributeToSelect('*');
$_popularCollection->setStoreId(Mage::app()->getStore()->getId());
$_popularCollection->addCategoryFilter($category);
return $_popularCollection;
}
Ini berfungsi Tapi saya memuat semuanya: $_popularCollection->addAttributeToSelect(*);
Saya sudah mencoba $_popularCollection->addAttributeToSelect('media_gallery');
tetapi sepertinya tidak berhasil.
Jawaban yang diterima berfungsi, tetapi melibatkan memuat semua atribut produk ke dalam memori padahal mungkin tidak diperlukan.
Untuk mengambil pendekatan yang sedikit lebih bedah (diuji pada 1.9.2.2 M) lakukan
Dengan cara ini Anda hanya memuat atribut media_gallery itu sendiri.
sumber
Saya tahu pertanyaannya sudah lama dan sudah memiliki jawaban yang benar, tetapi tidak buruk untuk merekomendasikan metode lain yang dapat berguna bagi masyarakat: Sebelumnya
$_product->getMediaGalleryImages()
Anda dapat mencoba:
Diambil dari: /programming/7890616/get-product-media-gallery-images-from-a-product-collection-in-magento#23804663
sumber