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

Back to archive index

Masahiko Nagata nagat****@ideas*****
2002年 12月 1日 (日) 12:21:55 JST


Junさん、こんにちは。
永田です。

on 2002.12.01 08:45, Junko at junko_ko****@anet***** wrote:
> それで、肝心のカタログ表示画面のほうなんですが、product_info.phpを
> 表示されるように変更してみたのですが、
> サブイメージ1を表示する場合、下記のように変更してみたのですが、
> うまくいきません。
> 変更箇所がまちがっていますか?
> 
> <A href="javascript:popupImageWindow('<?php echo
> tep_href_link(FILENAME_POPUP_IMAGE1, 'pID=' .
> $product_info_values['products_id']); ?>')"><?php echo
> tep_image(DIR_WS_IMAGES . $product_info_values['products_subimage1'],
> $product_info_values['products_name'], SMALL_IMAGE_WIDTH,
> SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"'); ?>
> 
> これに、products_bsubimage1 を指定してしなければいけないような気がするので
> すが、どこに追加すればいいのでしょうか。この状態だと「クリックすると拡大表
> 示」のみが表示されます。
> 初歩的な質問のような気がするのですが、どう変更してもうまくいきません。

えーと、これは「クリックすると拡大表示」の基本画像が1つしか表示されないと言
う事なのでしょうか?
それとも、「クリックすると拡大表示」は複数表示されるが、画像が表示されないと
言う事なのでしょうか?
はたまた、クリックしても画像がポップアップ表示されないと言う事なのでしょうか?

# 私、三つ全部経験しましたので(^^;)

基本的に、Mo Pics v1.1の該当部分を日本語版へ移植する事となるのですが、他
のContributionsの様にhack部分の明示がされていませんので、結構わかりにくかっ
たりしますし、javascriptとPHPが混在していたりするので、余計に手間が掛かった
りするのですが....

まず、26行目付近にjavascriptの定義があります。
■変更前(日本語版)
26行目
<script language="javascript"><!--
function popupImageWindow(url) {

window.open(url,'popupImageWindow','toolbar=no,location=no,directories=no,st
atus=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,heig
ht=100,screenX=150,screenY=150,top=150,left=150')
}
//--></script>

■変更後(移植後)
<script language="javascript"><!--
function popupWindow(url) {

window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=
no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=10
0,screenX=150,screenY=150,top=150,left=150')
}
//--></script>

# function popupImageWindow(url) が、function popupWindow(url) に変更されて
# ます。


■変更前(日本語版)
47行目
<?php
  $product_info = tep_db_query("select p.products_id, pd.products_name,
pd.products_description, p.products_model, p.products_quantity,
p.products_image, pd.products_url, p.products_price,
p.products_tax_class_id, p.products_date_added, p.products_date_available,
p.manufacturers_id from " . TABLE_PRODUCTS . " p, " .
TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" .
$HTTP_GET_VARS['products_id'] . "' and pd.products_id = '" .
$HTTP_GET_VARS['products_id'] . "' and pd.language_id = '" . $languages_id .
"'");
  if (!tep_db_num_rows($product_info)) { // product not found in database
?>

■変更後
<?php
// Mo-Pic hack start
  $product_info = tep_db_query("select p.products_id, pd.products_name,
pd.products_description, p.products_model, p.products_quantity,
p.products_image, p.products_subimage1, p.products_subimage2,
p.products_subimage3, p.products_subimage4, p.products_subimage5,
p.products_subimage6, pd.products_url, p.products_price,
p.products_tax_class_id, p.products_date_added, p.products_date_available,
p.manufacturers_id from " . TABLE_PRODUCTS . " p, " .
TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = '" .
$HTTP_GET_VARS['products_id'] . "' and pd.products_id = '" .
$HTTP_GET_VARS['products_id'] . "' and pd.language_id = '" . $languages_id
. "'");
// Mo-Pic hack end
  if (!tep_db_num_rows($product_info)) { // product not found in database
?>


■変更前(日本語版)
99行目
<?php
    if ($product_info_values['products_image'] != '') { // If there is no
product image hide the link
?>
          <tr>
            <td align="center" class="smallText"><a
href="javascript:popupImageWindow('<?php echo
tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' .
$product_info_values['products_id']); ?>')"><?php echo
tep_image(DIR_WS_IMAGES . $product_info_values['products_image'],
$product_info_values['products_name'], SMALL_IMAGE_WIDTH,
SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"'); ?><br><?php echo
TEXT_CLICK_TO_ENLARGE; ?></a></td>
          </tr>

■移植後
<?php
    if ($product_info_values['products_image'] != '') { // If there is no
product image hide the link
?>
<!-- Mo-Pic_start // -->
          <tr>
            <td align="center" class="smallText">
<script language="javascript"><!--
document.write('<?php echo '<a href="javascript:popupWindow(〓〓〓'' .
tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' .
$product_info_values['products_id']) . '〓〓〓')">' . tep_image(DIR_WS_IMAGES
. $product_info_values['products_image'],
addslashes($product_info_values['products_name']), SMALL_IMAGE_WIDTH,
SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' .
TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');
//--></script>
<noscript>
<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES .
$product_info_values['products_image']) . '">' . tep_image(DIR_WS_IMAGES .
$product_info_values['products_image'],
$product_info_values['products_name'], SMALL_IMAGE_WIDTH,
SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' .
TEXT_CLICK_TO_ENLARGE . '</a>'; ?>
</noscript>
            </td>
          </tr>

以下212行目付近まで['products_subimage1']から['products_subimage6']となって
いる箇所を全部移植。

と、ざっとこんな感じで移植するとOKだと思います。

# スクリプト全部をコピペしようと思ったのですが、300行を越えてたので止めとき
# ます(笑)

> これだと画像が縮小画像と拡大画像をそれぞれ分けて使用することも
> できるのですね。
> 表示を軽くしたいのなら、サムネイル用の画像を用意するといいわけですね。

昨日、自社本サイトにも組み込んでみました。こんな風になりました。
http://www.ideastore.co.jp/product_info.php?cPath=24_52&products_id=88
http://www.ideastore.co.jp/product_info.php?cPath=24_52&products_id=181

とりあえず、ざっと登録してみただけですので、大小の画像の登録(使い分け)はし
ていないのですが、登録した画像枚数(現状では最大6枚)によって、自動的に登録
枚数分だけ表示されますので非常に便利ですし、商品訴求力も上がってベリーグッド!
って感じですね!

# junさんも組込完了したら、是非サイトを見せて下さいね!
# 他の方々のサイトも見てみたい...(笑)




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