2011-03-04 123 views
1

我有一個銷售眼鏡,衣服等的magento商店。問題是我希望我的眼鏡具有300px X 100px的縮略圖和具有300px縮略圖的衣服X 300px。在magento的產品中添加不同的thumnail尺寸

我可以想到幾條不同的路線,但我不確定每條路線對我商店的可升級性的影響。 (目前使用的Magento 1.4.2因爲我不尚未有在1.5.x的信仰)

路線1)添加額外的圖像大小,以產品

所以這條路我會以某種方式添加一個額外的圖像到我的產品在管理區域中,每個產品都會有一個眼鏡大小的拇指和一個大小適中的拇指。

路線2)改變縮略圖大小取決於屬性設置

我會把某種case語句的圖像大小調整腳本來更改略圖的根據屬性設置產品尺寸使用。

如果任何人有任何其他想法如何實現這一點,將不勝感激!

回答

2

使用不同的屬性集爲每種產品(眼鏡&服裝)是這種類型的商店一個非常好的主意。但是,您也可以嘗試提供產品類型的單獨屬性(在glasses & clothing之間)。

關於調整圖像大小,我發現了一個非常容易使用的腳本,其代碼如下: -

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 = 100; 
     $height = 100; 
    } 
    $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; 
} 

你肯定會需要做的關於要提供不同尺寸的一些調整,但它仍然是一段非常好的代碼(available here),它已經多次挽回了我的後遺症。

希望它有幫助。

+0

借調屬性集是一種很好的(也許是「正確的」)方法來實現這一點。 –

+0

@Joseph - 乾杯! –

相關問題