2011-08-16 77 views
1

我试图在我的自定义cms主页中显示产品图像。如果我使用media.phtml中的代码来显示图库图像,则不起作用。我发现这段代码,它的工作。调整大小的magento画廊图像

<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由于某种原因不起作用。我怎样才能做这项工作?问题是我使用灯箱来显示画廊图像,它显示的实际高分辨率图像太大。灯箱需要提供图像的宽度和高度,我无法弄清楚我如何为灯箱设置标准尺寸。所以唯一的另一个选择是在将图像传递给灯箱之前让图像调整大小。谢谢。

回答

2

你只需要调用合适的对象,而不是$ obj->帮手,你应该使用法师::帮手,让您的电话应该是这样的:

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

就是这样! :)