HOME > Script, ZenCart > ZenCartの商品写真拡大をLightboxで表現する

ZenCartの商品写真拡大をLightboxで表現する

ZenCartでの、商品の写真を拡大する表現にLightboxを採用するための方法です。時すでに日本語版v1.3もリリースされて久しいのですが、このエントリーで紹介するのはv1.2向けの情報になります><

※ここに公開するコードを利用したことによって発生した不都合の責任を当方では負いかねます。あらかじめご了承下さい。

Lightboxとは?Lightbox JS 2.02を導入する

インストール

GD自動サムネイル作成をZenCartのRoot直下へ、Lightboxを環境に合わせて任意のフォルダへアップロードします 。Lightboxインストール参考

修正するファイルとその箇所

includes\templates\your_template\templates\tpl_product_info_display.php

101~107行目付近

下のように変更

includes\modules\pages\product_reviews\main_template_vars_images.php
includes\modules\pages\product_reviews_info\main_template_vars_images.php

31行目付近

下のように変更

includes\modules\pages\product_reviews\header.php

35行目付近

下のように変更

includes\modules\pages\product_reviews_write\main_template_vars_images.php

54行目付近

下のように変更

以上の作業で、商品ページおよびレビューページでの写真拡大がLightboxで表現されるようになりました。

これと併せて商品の追加画像をLightbox[roadtrip]でスライドショー表示できたらカッコいいのですが、勝手に追加した画像にサムネイルを作って拡大させるというZenCart仕様の挙動が個人的にイヤで、次の箇所を修正し追加画像のサムネイルを出さないようにしました。商品説明のTEXTAREAにgdthumb.phpとLightboxコードを使って直接画像を呼んで来てスライドショーを再現させるという、ちょっと手間な方法で対応しました。※ZenCartコミュニティ掲示板にこれを成功された方のコードが掲載されています。

includes\templates\your_template\templates\tpl_product_info_display.php

256行目付近の下のソースを削除

GD自動サムネイル (gdthumb.php) 補足

  • 『指定されたパスにファイルが見つかりません』のエラーが出る場合、PHPのチェックに引っかかっている可能性があります。gdthumb.phpのソース内で次の箇所を削除するかコメントアウトしてみて下さい。(79行目付近)
    PHP:
    1. if(!file_exists($path)) {
    2. return array(0, "指定されたパスにファイルが見つかりません。");
    3. }

  • gdthumb.phpソース内で、あらかじめサムネイル画像の最大値を指定しておくと、各ページの商品写真の大きさを一定にできるので、設定をおすすめします。
    PHP:
    1. // 画像の最大横幅
    2. $this->imgMaxWidth = 250; // 1以上の値// 画像の最大縦幅
    3. $this->imgMaxHeight = 0; // 指定しない場合は0 指定する場合は1以上の値

TrackBack URI : http://www.peacock-union.com/archives/60/trackback/

No Comments

No comments yet.

Leave a comment

RSS feed for comments on this post. TrackBack URI