2016-07-22 5 views
0

Я пытаюсь изменить размер моих изображений, используя magento Varien_Image класс. Но когда я хочу изменить размер изображения, я должен каждый раз удалять свою измененную папку. Я устал делать это. когда я делаю изменения в измерении, и он автоматически воссоздает образ этого измерения. Код или функция, которые я использовал для изменения размера.Лучший способ изменить размер нашего пользовательского изображения с пурпурным кодом

public function getProductImage($image,$width = 270,$height = 270){ 
    if($image!="" && file_exists(Mage::getBaseDir('media').DS.$image)){ 

     $_imageUrl = Mage::getBaseDir('media').DS.$image; 
     $imageResized = Mage::getBaseDir('media').DS.'resized/'.$image; 
     if (!file_exists($imageResized)&&file_exists($_imageUrl)) { 
      $imageObj = new Varien_Image($_imageUrl); 
      $imageObj->constrainOnly(TRUE); 
      $imageObj->keepAspectRatio(TRUE); 
      $imageObj->keepFrame(FALSE); 
      $imageObj->quality(100); 
      $imageObj->resize($width, null); 
      $imageObj->save($imageResized); 
     $resizedURL = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . "resized/" . $image; 
      return $resizedURL; 
     } 
     elseif(file_exists($imageResized)) { 
      $resizedURL = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . "resized/" . $image; 
      return $resizedURL;  
     } 
     else{ 
      return Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$image;  
     } 
    } 
    else 
    { 
     return Mage::getBaseUrl('media')."banner/resized/240X/placeholder.png"; 
    } 

} 

ответ

0

Вы можете передать ширину с помощью структуры папок, как показано ниже, чтобы сохранить изображения разных размеров в разных папках.

$ imageResized = Mage :: getBaseDir ('media'). DS.'resized /'.$ width. '/'. $ Image;

+0

Эта функция изменения размера дорогая '$ imageObj-> setAllowRenameFiles (true);' so give erorr – Zaheerabbas

+0

Фактически функция, о которой я упоминаю, определяется в классе Varien_File_Uploader. Второй подход подходит для вас – mjdevloper