我在同一个分类中有3个产品
我正在尝试在magento catalog/product/view.phtml
<?php
$productCollection = Mage::getModel('catalog/category')->load($cat_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1);
$prodIds = $productCollection->getAllIds();
$prod_siblings = array();
foreach($prodIds as $productId)
{
$prod = Mage::getModel('catalog/product')->load($productId);
$prod_siblings[] = array(
'url' => $prod->getProductUrl(),
'name' => $prod->getName(),
'image' => $this->helper('catalog/image')->init($prod, 'thumbnail')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(75)
);
}
?>
使用此代码,3 $prod_siblings
有自己的名称和网址(存储在数组中),但它们都共享相同的图像(最后创建的产品的图像)。
答案 0 :(得分:0)
尝试在$prod_siblings
的数组n den整个数组中存储产品详细信息。这将是这样的:
?php
$productCollection = Mage::getModel('catalog/category')->load($cat_id)
->getProductCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1);
$prodIds = $productCollection->getAllIds();
$prod_siblings = array();
foreach($prodIds as $productId)
{
$prod = Mage::getModel('catalog/product')->load($productId);
$product_detail[] = array(
'url' => $prod->getProductUrl(),
'name' => $prod->getName(),
'image' => $this->helper('catalog/image')->init($prod, 'thumbnail')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(75)
); array_push($prod_siblings,$product_detail[]);
}?>
希望这会对你有所帮助。
答案 1 :(得分:0)
知道了!
在这里找到了答案:How to get a product's image in Magento?
使用(string)Mage::helper('catalog/image')->init($prod, 'thumbnail')...
而不是$this->helper('catalog/image')->init($prod, 'thumbnail')...