[Tep-j-general] Re: 商品写真を複数登録する方法って?

Back to archive index

Masahiko Nagata nagat****@ideas*****
2002年 11月 30日 (土) 00:51:52 JST


junさん、こんばんは。
永田です。

on 2002.11.28 00:55, Junko at junko_ko****@anet***** wrote:
> 私も試してみたのですが、管理画面になにも変化がありません。
> 追加の画像はどこで登録するようになっているかご存知ないでしょうか。
> もし、設置に成功されましたら、ぜひ教えてください。

これってMo Pics v1.1 ##Updated## の事ですよね?
その後組込は出来ましたでしょうか?

私も少し前に、自サイトに組み込んでみようとした事があったのですが、日本語版と
のバージョンの違いからか、エラーの嵐(?)にあってしまい、そのままほったらか
しにしていたのですが、今日思い直して挑戦してみたところ、何とか組込に成功しま
したので報告します。

組込方法としては、定番(?)の日本語版へのスクリプト移植と言う方法をとりまし
た。

/catalog、/admin両方ともpopup_image.php等はそのまま利用出来る様ですが、

■一つ目の問題
/catalog/product_info.phpは該当部分の移植だけで殆どOKなのですが、
/admin/categories.phpは該当部分の移植だけでは全然ダメで、一部書き換えが必要
となります。

書き換え該当部分は、
●Mo Pics v1.1 ##Updated##
// copy image only if modified
      if ( ($products_image != 'none') && ($products_image != '') ) {
        $image_location = DIR_FS_CATALOG_IMAGES . $products_image_name;
        if (file_exists($image_location)) @unlink($image_location);
        move_uploaded_file($products_image, $image_location);
      } else {
        $products_image_name = $HTTP_POST_VARS['products_previous_image'];
      }
// copy big image only if modified
      if ( ($products_bimage != 'none') && ($products_bimage != '') ) {
        $bimage_location = DIR_FS_CATALOG_IMAGES . $products_bimage_name;
        if (file_exists($bimage_location)) @unlink($bimage_location);
        move_uploaded_file($products_bimage, $bimage_location);
    } else {
        $products_bimage_name = $HTTP_POST_VARS['products_previous_bimage'];
      }

●移植修正版
// copy image only if modified
      if ( ($products_image != 'none') && ($products_image != '') ) {
        $image_location = DIR_FS_CATALOG_IMAGES . $products_image_name;
        if (file_exists($image_location)) @unlink($image_location);
        copy($products_image, $image_location);
      } else {
        $products_image_name = $HTTP_POST_VARS['products_previous_image'];
      }
// copy big image only if modified
      if ( ($products_bimage != 'none') && ($products_bimage != '') ) {
        $bimage_location = DIR_FS_CATALOG_IMAGES . $products_bimage_name;
        if (file_exists($bimage_location)) @unlink($bimage_location);
        copy($products_bimage, $bimage_location);
    } else {
        $products_bimage_name = $HTTP_POST_VARS['products_previous_bimage'];
      }

# 何が違うかと言うと、move_uploaded_fileとなっている部分をcopyに書き換えるだ
# けです。
# 以下に続く// copy subimage1 only if modified等となっている箇所も、同じよう
# に修正します。

■二つ目の問題
上記作業で画像が登録出来る様になりますが、カタログ画面側で表示される画像をク
リックすると、エラーとなってしまう為、日本語版
の/vcatalog/includes/functions/html_output.phpファイルに修正を加えます。
74行目付近に// The HTML image wrapper functionで始まるブロックがありますので、
その部分を全部コピーして直ぐ下にペースト、

////
// The HTML image wrapper function 1
  function tep_subimage1($src, $alt = '', $width = '', $height = '', $params
= '') {
    if ( (($src == '') || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED ==
'false') ) {
      return;
    }

    $image = '<img src="' . $src . '" border="0" alt=" ' .
htmlspecialchars(StripSlashes($alt)) . ' "';

    if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true') && ((!$width) ||
(!$height)) ) {
      if ($image_size = @getimagesize($src)) {
        if ( (!$width) && ($height) ) {
          $ratio = $height / $image_size[1];
          $width = $image_size[0] * $ratio;
        } elseif ( ($width) && (!$height) ) {
          $ratio = $width / $image_size[0];
          $height = $image_size[1] * $ratio;
        } elseif ( (!$width) && (!$height) ) {
          $width = $image_size[0];
          $height = $image_size[1];
        }
      } elseif (IMAGE_REQUIRED == 'false') {
        return '';
      }
    }

    if ( ($width) && ($height) ) {
      $image .= ' width="' . $width . '" height="' . $height . '"';
    }

    if ($params != '') {
      $image .= ' ' . $params;
    }

    $image .= '>';

    return $image;
  }

等として1番から6番まで追記します。
これで、ファイルの読み出しが出来る様になりますので、画像をクリックしてもエラー
とならず、ちゃんと画像が表示される様になります。

ざっとこんな感じですが、残る気になる箇所として、管理画面側の登録確認画面も画
像がポップアップする様なのですが、クリックしても画像が無い表示となってしまう
事、同じく画像を複数登録しない場合に、小さい画像(?)表示部分が、やはり画像
が無い表示になってしまう事があります。

# 取りあえず、お客さまには見えない管理画面側だけの問題かと思いますので、また
# 上手くいったら報告しますね。

Mo Pics v1.1のReadme.txtの指示って、かなり情報が少ないので、気が付いたら1日
かかってしまいました(^^;)





Tep-j-general メーリングリストの案内
Back to archive index