[解決済み] 複数SKUの価格表にサブ画像を入れたい

2011 年 12 月 6 日

ホーム フォーラム 使い方全般 [解決済み] 複数SKUの価格表にサブ画像を入れたい

このトピックには11件の返信が含まれ、2人の参加者がいます。5 年、 8 ヶ月前 sumomo さんが最後の更新を行いました。

12件の投稿を表示中 - 1 - 12件目 (全12件中)
  • 投稿者
    投稿
  • #50860

    sumomo
    参加者

    動作に関するご質問の場合は必ずご記入ください。


    WordPress のバージョン:3.2.1

    Welcart のバージョン:1.0.9

    ご利用のテーマ:welcart_default

    症状を確認したブラウザ:firefox3.6.22

    サーバー(会社名、サービス名):xrea core

    SSLの利用: 無し | 専用SSL | 共用SSL

    WordPress のパーマリンク設定:特にしていません


    初めまして、現在構築中の者です。過去の質問など見てみましたが躓いてしまいましたので、よろしかったらご教授ください。

    ひとつの商品で色違いなど、SKUが複数になる場合、価格表の中にそれぞれに当てはまる画像が自動的に入るようにしたいです。

    現在、画像は商品コード+枝番(必要な場合さらに枝番)でアップロードしています。例えばAA01-01というSKUコードに対し、同じようにAA01-01という名前でアップした画像が連動するようにしたいのですが・・・。

    https://www.welcart.com/forum/topic.php?id=640

    は拝見しましたが、私には理解が難しくお手上げになってしまいました。

    usc-e-shoptemplates/single_item.php に、上記の説明にあるコードを挿入する、というような作業になるのでしょうか?

    htmlはある程度わかりますが、phpは初心者です。お忙しいところ恐縮ですが、変更を加えるファイルと挿入すべきものについてお教えください。

    なお、カスタマイズはcssファイルで行っており、このsingle_item.phpにはまだ手を付けておりません。

    どうぞよろしくお願いいたします。

    #63406

    nanbu
    参加者

    こんにちは。

    編集するテンプレートファイルは、ご利用のテーマフォルダ内のwc_item_single.php となります。

    コード内に<!--some SKU--> というコメントが有りますが、そこからが複数SKU用のソースとなります。

    なお、プラグインフォルダ内のファイルを編集してしまうとアップグレードができなくなってしまいますのでご注意下さい。

    #63407

    sumomo
    参加者

    早速のご教示、ありがとうございます。教えていただいたファイルを編集してみようと思います。

    因みにこの「テーマフォルダ内のwc_item_single.php 」ファイルは、プラグインフォルダ内のファイルに当たりますか? テンプレートという名前のフォルダが他にもあるので、混乱してしまって。

    もしプラグインフォルダ内ということであれば、アップグレード対策に、退避させようと思います。

    よろしくお願いいたします。

    #63408

    sumomo
    参加者

    連投失礼いたします。

    編集するファイルですが、usc-e-shopthemewelcart_defaultwc_templates/wc_item_single.php でよろしいでしょうか? 過去ログを見ますと、商品詳細ページのカスタマイズはusc-e-shop/templates/single_item.php という記述もあり、どちらなのだろうと迷ってしまいました。

    さて、上記wc_item_single.phpを編集する場合ですが、103行目にある「<td rowspan=”2″><?php usces_the_itemSku(); ?></td> 」が該当個所であるところまでは何とかたどり着きました。この、価格表のいちばん左枠、品番の横に画像が入ればいいのですが、(あるいは縦枠をもう1列挿入しても)、画像を埋め込むためのタグがわかりません。

    商品画像は、品番+枝番でアップロードしています。

    ここに挿入するタグをお教えいただけないでしょうか。お手数おかけしてすみません、よろしくお願いいたします。

    #63409

    nanbu
    参加者

    ご利用の環境に「ご利用のテーマ:welcart_default」とありますが、Welcart Default テーマをお使いだということでは無いのでしょうか。Welcart Default テーマをお使いでしたらそのフォルダの中にwc_templates というフォルダがあるはずです。

    編集するファイルは、

    wp-contennt/themes/welcart_default/wc_templates/wc_item_single.php

    となります。

    もし、今編集されているテーマが「Welcart Default テーマ」ではないのでしたら、wc_templates フォルダをコピーしてください。

    #63410

    sumomo
    参加者

    はい、利用しているテーマはWelcart Defaultです。

    調べてみたところ、サーバー側ではご指摘のとおりの場所にwc_item_single.phpがありましたが、なぜかローカル側ではその場所にWelcart Defaultフォルダがなく、wordpressフォルダと同階層にあるusc-e-shopフォルダから毎回探して編集していたような状況です。

    ローカル側もWelcart Defaultフォルダをwp-contennt/themesに移しました。初歩的なミスでお騒がせして申し訳ありませんでした。

    #63412

    nanbu
    参加者

    Welcart Default テーマはWelcart が自動でインストールしますので、ローカル側では一旦サーバーからGETしなくてはいけないことになります。

    なお、一旦自動インストールされたWelcart Default テーマは、Welcart を再有効化しても上書きされる事はございません。

    #63413

    sumomo
    参加者

    テーマについてはサーバーからダウンロードしてくる必要があったのですね、よくわかりました、ありがとうございます。自分がどこからそれを取ってきたのかもう記憶がないのですが、とりあえず存在しているようなので、現状のままいってみようと思います。

    さて、wc_item_single.php ですが、103行目が複数SKUの価格表でSKUコードが読み込まれる場所だとわかりました。下記の部分です。

    <td rowspan=”2″><?php usces_the_itemSku(); ?></td>

    表自体を組み直すのは後回しにして、とりあえずこのSKUコードの横に、それぞれのSKUコードに応じたサブ画像を読み込みたいと思っております。

    <td rowspan=”2″><?php usces_the_itemSku(); ?><?php usces_the_itemImage(‘usces_the_itemSku()’, 50, 50, $post); ?></td>

    画像を呼んで、さらにそれがSKUコードを呼べばいいのかと考え、このように入れてみましたが、残念ながら枝番までは呼べないようで、メイン画像を読み込んでしまいます。

    画像タイトル、画像の名前(.jpgの前)ともSKUコードに一致させています。なんとか枝番まで読み込めるようにしたいのですが、どこが間違っているのか、アドバイスいただけないでしょうか。

    よろしくお願いいたします。

    #63414

    nanbu
    参加者

    usces_the_itemImage() の第1引数には登録した画像のインデックスが入ります。

    登録した画像のインデックスとは、メイン画像が0、その他のサブ画像が1から割り当てられます。従ってループごとに1から連番を入れるとサブ画像が表示される事になります。

    今回、SKU コードは、商品画像ルールの「サブ画像」の命名ルールート一致しますので、サブ画像を取得すればSKUごとの画像になるはずです。

    ただし、インデックスがずれている可能性も有りますので、その場合はまた別の方法で取得しなくてはいけなくなります。

    #63415

    sumomo
    参加者

    >>今回、SKU コードは、商品画像ルールの「サブ画像」の命名ルールート一致しますので、サブ画像を取得すればSKUごとの画像になるはずです。

    申し訳ありません、お手上げです。何とか「サブ画像」を取得しようとやってみましたが、エラーになるか、メイン画像を呼んでしまうかの繰り返しです。

    <?php usces_the_itemSku(); ?> のようなシンプルな一行で実は表示できるのではないかと考えているのですが、さてこの「サブ画像」を正確に呼ぶためのコードがわかりません。

    これを最後にいたします。「サブ画像を取得する」ために必要なコードを、もし可能であればご教示いただけないでしょうか。

    お忙しいところ申し訳ありません。よろしくお願いいたします。

    #63416

    nanbu
    参加者

    商品コードから商品画像を探すには、画像のIDを取得し、WordPress の関数(wp_get_attachment_image)を使って<img />タグを出力します。

    global $usces;
    $pictid = $usces->get_mainpictid(usces_the_itemSku('return'));
    echo wp_get_attachment_image( $pictid, array(50, 50), true );

    たぶんこれで行けると思います。

    #63417

    sumomo
    参加者

    nanbu様、ありがとうございました。

    いただいたソースコードを入れてみたところ、表示できました。やはり私のスキルでは全く導き出せないコードでした。

    長々とお付き合いいただきましてありがとうございました。感謝いたします。

    もう少し勉強しながら、構築を進めたいと思います。本当にありがとうございました!

12件の投稿を表示中 - 1 - 12件目 (全12件中)

このトピックに返信するにはログインが必要です。