Magento: Resize image in custom module in magento
In this article I’ll discuss how to resize image in custom module in Magento.
First step is Open your module “helper/data.php” and paste the below code in your helper class.
<?php class Namespace_Modulename_Helper_Data extends Mage_Core_Helper_Abstract { public function resizeImage($imageName, $width=NULL, $height=NULL, $imagePath=NULL) { $imagePath = str_replace(“/”, DS, $imagePath); $imagePathFull = Mage::getBaseDir(‘media’) . DS . $imagePath . DS . $imageName; if($width == NULL && $height == NULL) { $width = 450; $height = 450; } $resizePath = $width . ‘x’ . $height; $resizePathFull = Mage::getBaseDir(‘media’) . DS . $imagePath . DS . $resizePath . DS . $imageName; if (file_exists($imagePathFull) && !file_exists($resizePathFull)) { $imageObj = new Varien_Image($imagePathFull); $imageObj->constrainOnly(TRUE); $imageObj->keepAspectRatio(TRUE); $imageObj->resize($width,$height); $imageObj->save($resizePathFull); } $imagePath=str_replace(DS, “/”, $imagePath); return Mage::getBaseUrl(“media”) . $imagePath . “/” . $resizePath . “/” . $imageName; } }
Second Step is, use below code in any template/phtml file of your module.
<img src=”<?php echo Mage::helper(‘yourmodulename’)->resizeImage(‘imagesname.jpg’, 450, 450, ‘path/image’); ?>” style=”padding:10px;”>