1

我正在尝试在我的自定义 cms 主页中显示产品图库图片。如果我使用 media.phtml 中的代码来显示画廊图像,它就不起作用。我找到了这段代码并且它有效。

<div id="thumbs" class = "thumbs-home">
    <?php 
        $obj = new Mage_Catalog_Block_Product_View_Media();
        $_product1 = new Mage_Catalog_Model_Product();
        // Load all product information of a particular product
        $Products_one = Mage::getModel('catalog/product')->load($productId);
        // Use your Product Id instead of $id
        $countt = count($Products_one->getMediaGalleryImages());
        if($countt>0){
        foreach ($Products_one->getMediaGalleryImages() as $_image)
        {
        // For the Original Image
        $thumb_img = "<img src=".Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).str_replace(Mage::getBaseUrl('media'),"",$_image->url)." alt=''width='60' height='60' />";
        echo "<a href='".Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).str_replace(Mage::getBaseUrl('media'),"",$_image->url)."'rel='lightbox[gallery]'>".$thumb_img."</a>";      
        //For gallery Image
        //$resizeimage = $obj->helper('catalog/image')->init($_product, 'thumbnail', $_image->getFile())->backgroundColor(242,242,243)->resize(400,300);
        //echo "<img src=".$resizeimage."alt='' />";
        }
        } 
    ?>

这将获取实际图像并通过宽度和高度属性调整大小。但我想通过magento调整图像大小。最后一段代码 $resizeimage 由于某种原因无法正常工作。我怎样才能使这项工作?问题是我正在使用灯箱来显示画廊图像,这些图像显示了太大的实际高分辨率图像。灯箱采用所提供图像的宽度和高度,我无法弄清楚我如何为灯箱设置标准尺寸。因此,唯一的其他选择是在将图像传递到灯箱之前通过 magento 调整图像大小。谢谢。

4

1 回答 1

2

你只需要调用正确的对象,而不是 $obj->helper 你应该使用 Mage::helper,所以你的调用应该是这样的:

print Mage::helper('catalog/image')
 ->init($product, 'thumbnail', $image->getFile())
 ->backgroundColor(255,255,255)
 ->resize(100,100);

就是这样!:)

于 2012-07-16T09:56:49.427 回答