我的问题:
我需要从类提供的缩减产品对象中检索主要产品图像:Mage_Bundle_Model_Resource_Price_Index
我的代码演示了这个问题:
$_product = $this->getProduct();
$_options = Mage::helper('core')->decorateArray($this->getOptions());
foreach($_options as $_option):
$_selections = $_option->getSelections();
foreach ($_option->getSelections() as $tmpsel) {
var_dump($tmpsel->getImageUrl());
}
返回我的占位符图像:
http://dev.dev/media/catalog/product/cache/7/image/265x/0dc2d03fe217f8c83829496872af24a0/placeholder/default/logo_3.jpg
我可怕而骇人的工作:
为了获得正确的图像 URL,我求助于加载一个全新的产品对象,这非常低效。
foreach ($_option->getSelections() as $tmpsel) {
$product = Mage::getModel("catalog/product")->load($tmpsel->getId());
$image = Mage::helper('catalog/image')->init($product, 'image');
var_dump($image."");
}
这正确返回:
http://dev.dev/media/catalog/product/cache/7/image/0dc2d03fe217f8c83829496872af24a0/M/P/MP1428219-107-Main.jpg
我想做的事:
我希望能够catalog/image
在选择中使用帮助器($tmpsel),但是当我尝试时,我最终会再次获得占位符图像。
foreach ($_option->getSelections() as $tmpsel) {
$image = Mage::helper('catalog/image')->init($tmpsel, 'image');
var_dump($image."");
}
额外信息:
我想到的任何可以帮助的东西我都会在这里添加
削减产品对象包括对图像的一些参考
'small_image' => string '/M/P/MP1428219-107-Main.jpg'
'thumbnail' => string '/M/P/MP1428219-107-Main.jpg'
getSelection() 的描述
在:./app/code/core/Mage/Bundle/Model/Resource/Price/Index.php
* Retrieve bundle options with selections and prices by product
该函数使用低级 SQL 来生成集合,因此如果需要,我可以随时扩展它以添加选项,但不确定哪些选项。
感谢您的阅读,希望有人能给我一个这样做的好方法,会不断更新。