2011-03-04 72 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 - 干杯! –

相关问题