TL; DR:製品全体をロードせずに製品画像/ギャラリーをロードするにはどうすればよいですか?
製品に画像をロードしたい。.phtmlで行うこと
$_popularCollection = $this->getPopularCollection();
foreach ($_popularCollection as $_product):
// the rest
$mediaGallery = $_product->getMediaGalleryImages();
endforeach;
//the rest
Blockクラスで行うこと:
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;
}
これは動作しますが、すべてをロードします: $_popularCollection->addAttributeToSelect(*);
試しました$_popularCollection->addAttributeToSelect('media_gallery');
が、うまくいかないようです。