商品画像を増やす方法 パート2  【解決済み】

困った時はこちらで質問してください。回答を担当する人は特に決まっていませんので、分かる方は回答をお願いします。
アバター
サンキュー

商品画像を増やす方法 パート2

投稿記事by サンキュー » 2007/5/04 17:27

商品画像を増やす方法は標準でついているらしいのですが、
いまいちよく分かりませんので、誰か6以降の操作方法を教えて下さい!!


http://zen-cart.jp/bbs/viewtopic.php?p=13385


カテゴリ・商品の管理から 1縲怩Tまでの操作方法は通常の一画像を掲載させる方法ですよね。
その後はどのように操作をしたら、2画像目が載せられるのでしょうか?
5の後もう一度参照ボタンにて写真を選択し、その後プレビューを押下してしまうと
やはり前の商品画像が消えてしまうのです。
その後の操作方法を教えて下さい!!!!!

1. 画像ファイルを参照、選択( test_00.jpg )して、アップロード先ディレクトリを選択する。
2. プレビューボタンを押す。
3. 画像を確認して更新ボタンを押す。
4. 再度、作成した商品を確認。
5. アップロードファイル参照テキストボックスの下に( test_00.jpg )が表示される。
アバター
RBlue

Re:商品画像を増やす方法 パート2

投稿記事by RBlue » 2007/5/04 18:17

私も最初意味が分かりませんでした...> <
Zen-cartの特徴(クセ?)みたいです

画像ファイルが、test_00.jpg だとすると
頭のtestが同じ商品画像として認識するので
商品登録時にtest_00.jpgを登録した後に
もう一度、別の画像test_01.jpgで更新すると、追加画像が登録されます。

さらに追加する場合も、test_02.jpg、test_03.jpg......が可能です
で、
最後にアップした画像が、ディフォルトの画像になりますので、メインの画像は最後に登録します。

FTPで、と説明しているのは、何回も登録するのが面倒なので
test_00.jpgを登録した後で
一気にサーバーへtest_01.jpg縲徼est_03.jpg....を
アップする方が簡単だからです。

サンキューさんが、はまっている点は、
同じファイル名の別画像をを登録にしているか
ファイル名のtest_.jpg部分が異なっているからだと思われます

いかがでしょうか?? 8)
アバター
とろける

Re:商品画像を増やす方法 パート2  【解決済み】

投稿記事by とろける » 2007/7/02 16:45

[quote="RBlue"]私も最初意味が分かりませんでした...> <
Zen-cartの特徴(クセ?)みたいです



わたしも1つの商品に複数の画像を表示させたいので、このスレッドから学んでやってきましたが、やはりどうもうまくいきません。
適切に名前をつけた画像をサーバーにアップロードしてもやはり、サイト上には(一番最初に管理画面からアップロードした1枚しか表示されません。けっきょく、zen-cartは複数画像を登録はできるけど、複数画像の表示することは出来ないのでしょうか???
英語版の方だと、largeサイズとmediumサイズの画像までftpで上げるとなっていましたが、それもでも複数画像の表示はできませんでした。
test.jpgとtest_01.jpgを1つのアイテムで、同時に表示させるまで、具体的に教えてくもらえませんか
アバター
kino
記事: 893
登録日時: 2005/5/15 19:39
お住まい: 京都
連絡を取る:

投稿記事by kino » 2007/7/02 19:22

木下です。

複数画像は includes/templates/template_default/templates/tpl_product_info_display.php
の157行目からの

コード: 全て選択

<!--bof Additional Product Images -->
<?php
/**
 * display the products additional images
 */
  require($template->get_template_dir('/tpl_modules_additional_images.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_additional_images.php'); ?>
<!--eof Additional Product Images -->

この記述により取り込まれ表示するはずで
この部分が実行される為にはなんのIF文も無いので管理画面等で設定があるわけではなさそうですね。

で、tpl_modules_additional_images.phpでは

コード: 全て選択

 require(DIR_WS_MODULES . zen_get_module_directory('additional_images.php'));
 ?>
 <?php
 if ($flag_show_product_info_additional_images != 0 && $num_images > 0) {
  ?>
<div id="productAdditionalImages">
<?php
  require($template->get_template_dir('tpl_columnar_display.php',DIR_WS_TEMPLATE, $current_page_base,'common'). '/tpl_columnar_display.php'); ?>
</div>
<?php
  }
?>

このような処理になっているので

コード: 全て選択

 require(DIR_WS_MODULES . zen_get_module_directory('additional_images.php'));

が実行された結果として
$flag_show_product_info_additional_images に 0以外の数値が設定され
$num_images に表示するべきイメージの個数が設定されていればよさそうです。

なので後は additional_images.php を追っかけて見てみるとよさそうです。
ちょっと見たところ、

コード: 全て選択

if ($products_image != '') {

で商品のイメージが登録されている時だけ処理している(当たり前か)

コード: 全て選択

  $products_image_extension = substr($products_image, strrpos($products_image, '.'));

で画像名の右から最初のピリオドまでの文字列(つまり最後のピリオド以降の文字列)を拡張子として取得している。

コード: 全て選択

  $products_image_directory = ereg_replace($products_image, '', substr($products_image, strrpos($products_image, '/')));

で画像名の右から最初の'/'までの文字列を削除することで画像の保存ディレクトリとして取得している。

で、その取得した画像保存ディレクトリ内のファイル名を走査して

コード: 全て選択

        if (substr($file, strrpos($file, '.')) == $file_extension) {

同じ拡張しのファイルだけ処理

コード: 全て選択

          if(preg_match("/" . $products_image_base . "/i", $file) == '1') {

ファイル名に商品画像名が含まれているか確認

コード: 全て選択

            if ($file != $products_image) {

ファイル名が商品画像名と一致しない時だけ処理

といった判断が働いています。

これらの条件に合っているかを少しずつ各所にecho等入れて
確認すれば何故表示されないのか直ぐに分かりそうですね。
-----
木下 敏夫
http://www.tktools.jp/

大阪府産業デザインセンターデザイン専門員 ( http://bmb.oidc.jp/index.php?topic=-m-D14 )
奥様ショップ 店長 ( http://okusama-shop.com/ )
電脳ドロップシッピング 店長 ( http://d-064.d-shipping.net/ )
アバター
よっし
記事: 186
登録日時: 2005/5/19 19:08
お住まい: 佐賀市
連絡を取る:

Re:商品画像を増やす方法 パート2

投稿記事by よっし » 2007/7/03 19:27

こんにちは。

とろけるさん さんが書きました:test.jpgとtest_01.jpgを1つのアイテムで、同時に表示させるまで、具体的に教えてくもらえませんか


    (1) [商品の管理]画面で、商品情報を入力すると共に、test.jpgをアップロードする。
    (2) test.jpgをアップロードしたディレクトリと同じ場所に、FTPソフトを使ってtest_01.jpgをアップロードする。


簡単ですが、以上です。ホントです。

例えば、このページはうちのサイトですが、上記とまったく同じ方法で2点目、3点目の画像をアップしています。

なぜうまくいかないのかが不思議です。
確認ですが、test.jpgとtest_01.jpgは同じディレクトリにアップされているんですよね?
posted by よっし
【サイト】レグナテック(商品カタログ)
【環境】zen-cart v1.3.8a MySQL v5.0.32 PHP v5.2.0
アバター
とろける

投稿記事by とろける » 2007/7/04 00:18

Kinoさん
ていねいな解説ありがとうございます。
TEMPLATEMONSTERのテンプレートを使っていますが、tpl_product_info_display.php の複数画像の部分が、//で消されていました。しかも、134行目くらいでした。でも、//を取ったところでまだ複数表示ができてませんので、アドバイスの流れのファイルを、まずは見ていこうとおもいます。

よっしさん
ありがとうございます。その手順こそがずっとやってきた手順です。でも、なぜか複数表示されないのです。もちろん同じディレクトリにアップしてるのですが。テンプレートがいけないのでしょうか?!



ちなみに、構成は以下のとおりです。遅ればせながら・・・

Zen Cart 1.3.0.2-l10n-jp-2
サーバOS: Linux 2.4.21-27.ELsmp
データベース: MySQL 5.0.37-log
PHP バージョン: 5.1.4 (Zendのバージョン: 2.1.0)
HTTP サーバ: Apache
アバター
進地
記事: 103
登録日時: 2005/8/25 19:14
お住まい: 東京都北区

投稿記事by 進地 » 2007/7/04 18:18

とろけるさん。
こんにちは。

v1.3.0.2-l10n-jp-2のデモショップをお使いの環境で構築してみることは可能ですか?
複数画像表示に関してはデモショップの

その他のTips
 竏秩Ыr
  説明欄に追加の画像を掲載する方法

に実際の商品例とともに詳しく解説されているので確認してみてください。

といっても手順としては既に他の皆さんが解説してくださっている方法で問題ないはずです。

お使いのテンプレートの

includes/templates/template_default/templates/tpl_modules_additional_images.php

とl10n-jp-2の同ファイルとの差分はどうなっているでしょうか?

また、管理画面の[商品の管理]->[商品タイプの管理]->[Product - General]を選択して[表示設定]ボタンを押下->[Show Product Additional Images]の値はどうなっているでしょうか?

複数画像表示は includes/templates/template_default/templates/tpl_modules_additional_images.php
 の

コード: 全て選択

if ($flag_show_product_info_additional_images != 0 && $num_images > 0) {


という判定を通らないと表示されないようになっていますが、$flag_show_product_info_additional_imagesは[Show Product Additional Images]の値が1(=True)になっていないと1にセットされず、上記コードの判定が通らない、つまり、複数画像は表示されません。

確認してみてください。
アバター
とろける

投稿記事by とろける » 2007/7/05 23:55

kinoさん よっしさん 進地さん
こんにちは。

どうやら分かりました。

基本的には、kinoさんに教示いただいたincludes/templates/template_default/templates/tpl_product_info_display.php
のrequire($template->get_template_dir('/tpl_modules_additional_images.php',DIR_WS_TEMPLATE, $current_page_base,'templates'). '/tpl_modules_additional_images.php'); ?> を、//をはずして有効にすることで解決していました。

しかし、一枚目の画像(test.jpg)を登録するとその拡張子が大文字(test.JPG)に変わっていました、いっぽうftpでアップした続き画像はそのまま小文字jpgであったために、表示されませんでした。
ftp経由の画像の拡張子を大文字のJPGにしたら、ちゃんと表示されました。

まさか、拡張子のスケールが問題だったとは・・・。じつは、kinoさん、よっしさん、進地さんのアドバイスを踏襲してもなんら変化が見られず完璧あきらめモードで、テンプレートの変更を考え初めるほどでしたが、せっかく多くのアドバイスをいただいたので、ちょっと粘ってよかったです。


ところで、進地さんのアドバイスへのお答えを・・・

1.当環境でデモショップも構築できました。おかげさまで、その他のTipsでいろいろ勉強させてもらいました。改めて、zen-cartすごい!

2.includes/templates/template_default/templates/tpl_modules_additional_images.php は、まったく同じものでした。

3.Product竏竪eneralの表示設定下のProduct Additional Imageは、1となっていました。


どうもありがとうございました!
アバター
kino
記事: 893
登録日時: 2005/5/15 19:39
お住まい: 京都
連絡を取る:

投稿記事by kino » 2007/7/06 11:16

木下です。


そういえば「拡張子が大文字・小文字が混在していないですか?」
って書こうとしてたの忘れてた(^^

additional_images.php の拡張子の比較を行っているところ

コード: 全て選択

  if (substr($file, strrpos($file, '.')) == $file_extension) {


コード: 全て選択

  if (strtoupper (substr($file, strrpos($file, '.'))) == strtoupper ($file_extension)) {


としておくといいかもしれないですね。
http://www.phppro.jp/phpmanual/php/func ... upper.html
-----
木下 敏夫
http://www.tktools.jp/

大阪府産業デザインセンターデザイン専門員 ( http://bmb.oidc.jp/index.php?topic=-m-D14 )
奥様ショップ 店長 ( http://okusama-shop.com/ )
電脳ドロップシッピング 店長 ( http://d-064.d-shipping.net/ )
アバター
とろける

投稿記事by とろける » 2007/7/06 23:09

kinoさん、
とどめのアドバイス、ありがとうございます。
これは楽そうです。ちょっと、挑戦してみます!

“Zen Cart 質問コーナー” へ戻る