1
votes

i am trying to display product gallery images in my custom cms home page. If i use the code from media.phtml to display the gallery images, it does not work. I found this piece of code and it worked.

<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='' />";
        }
        } 
    ?>

This gets the actual images and gets resized by the width and height attributes. But i want to resize the image through magento. The last piece of code $resizeimage is not working for some reason. How can i make this work? The problem is that i am using a lightbox to display the gallery images which displays the actual high resolution images that are too large. The light box takes in width and height of image provided and i am not able to figure out as to how i set a standard dimensions for the light box. So the only other option is the have the images resized by magento before passing them to the lightbox. Thanks.

1

1 Answers

2
votes

You just need to call proper object, instead of $obj->helper you should use Mage::helper, so your call should look like this:

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

And that's it! :)