2011-08-16 78 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); 

就是這樣! :)