如何在Magento中获得加售中的基本图像

时间:2015-02-16 10:25:41

标签: magento

我想在加售中显示基本图像,而不是缩略图或小图像,而是图像。

我在upsell.phtml

中尝试过以下代码
<?php echo $this->helper('catalog/image')->init($_link, 'image')->resize(118,82) ?>

但它没有用。

有什么想法吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

问题在于,您的产品系列并不具备每种产品的所有属性,但它有一部分属性,不包含“图像”属性。

解决这个问题的快捷方法是:

$product = Mage::getModel('catalog/product')->load($productId); 
echo '<img src=' . $this->helper('catalog/image')->init($product, 'image')->resize(118, 82) . ' width=\'118\' height=\'82\'/>';

但是,最佳做法是找出正在加载的加售集合的位置,并使用addAttributeToSelect('image')将图像属性添加到集合中,以便在迭代集合时无需加载获取该属性值的产品。

您可能需要覆盖&amp; extend Mage_Catalog_Block_Product_List_Upsell::_prepareData(假设您正在使用此块),然后,在加载集合之前,添加以下行:

 $this->_itemCollection->addAttributeToSelect('image');

我希望它有所帮助!