1

眼鏡や衣料品などを販売するMagentoストアがあります。問題は、眼鏡に300px X 100pxのサムネイルを付け、服に300pxX300pxのサムネイルを付けたいということです。

私が取るかもしれないいくつかの異なるルートを考えることができますが、各ルートが私の店のアップグレード可能性にどのような影響を与えるかはわかりません。(私はまだ1.5.xを信頼していないので、現在Magento 1.4.2を使用しています)

ルート1)商品に画像サイズを追加する

したがって、このルートでは、管理領域の製品に画像を追加します。各製品には、メガネサイズの親指と服のサイズの親指があります。

ルート2)属性セットに応じてサムネイルサイズを変更する

製品が使用している属性セットに応じて、ツムネイルのサイズを変更するために、画像のサイズ変更スクリプトにある種のcaseステートメントを配置します。

これがどのように達成されるかについて誰かが他のアイデアを持っているなら、それは大いにありがたいです!

4

1 に答える 1

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;
}

提供したいさまざまなディメンションに関して微調整を行う必要があることは間違いありませんが、それでも非常に優れたコード (ここで入手可能) であり、何度も私の背中を救ってくれました。

それが役に立てば幸い。

于 2011-03-04T14:18:56.873 に答える