バージョン選択

フォーラム

メニュー

オンライン状況

24 人のユーザが現在オンラインです。 (14 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 23
vokos8855 もっと...

サイト内検索

質問 > フロント機能 > 2.11での規格で分けられた商品の価格表示

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
regreg
投稿日時: 2011/3/25 15:08
対応状況: −−−
新米
登録日: 2011/3/11
居住地:
投稿: 6
2.11での規格で分けられた商品の価格表示
ver2.11での規格で分けられた商品の価格表示は可能でしょうか?
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=430&forum=6&post_id=1218#forumpost1218
などを参考に改造をしようかと思ったのですが、
変数などが違っていたため、
断念しました。

もし、ご存知でしたらアドバイスをお願い致します。
AMUAMU
投稿日時: 2011/3/25 15:20
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: 2.11での規格で分けられた商品の価格表示
該当するカスタマイズをしたいと思われる部分はSC_Productクラスに移動しています。

ちなみにsetProductsClassByProductIds呼び出し後、価格は既にオブジェクト内に展開済みという仕様に変わっていますので、価格情報は$objProduct->classCategoriesの中を見ると格納されているはずですから、あとは取り出して表示したい文字列に価格情報を加えるカスタマイズを行うだけかと思います。


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

regreg
投稿日時: 2011/3/25 16:01
対応状況: −−−
新米
登録日: 2011/3/11
居住地:
投稿: 6
Re: 2.11での規格で分けられた商品の価格表示
返信をありがとうございます。
もしよろしければ、ご参考までにコード等を教えていただけないでしょうか。
あつかましいお願いかもしれませんし、やろうとしていることに実力が追いついていないかもしれませんが、
助けていただけますれば幸いです。
よろしくお願い致します。
habu
投稿日時: 2011/3/25 16:47
対応状況: −−−
長老
登録日: 2006/9/15
居住地:
投稿: 282
Re: 2.11での規格で分けられた商品の価格表示
regreg様

引用:
もしよろしければ、ご参考までにコード等を教えていただけないでしょうか。


規格1を選択した状態で、規格2のリストBOX表示に価格も表示したいという事でしたら以下の変更で行えます。

html/js/products.js の25行目から始まるsetClassCategories関数内に、赤字の部分を追加する。
/**
 * 規格2のプルダウンを設定する.
 */
function setClassCategories($form, product_id, $sele1, $sele2, selected_id2) {
    if ($sele1) {
        var classcat_id1 = $sele1.val() ? $sele1.val() : '';
        if ($sele2) {
            // 規格2の選択肢をクリア
            $sele2.children().remove();

            var classcat2;

            // 商品一覧時
            if (typeof productsClassCategories != 'undefined') {
                classcat2 = productsClassCategories[product_id][classcat_id1];
            }
            // 詳細表示時
            else {
                classcat2 = classCategories[classcat_id1];
            }

            // 規格2の要素を設定                      
            for (var key in classcat2) {
                var id = classcat2[key]['classcategory_id2'];
                var name = classcat2[key]['name'];
                
                // 規格2それぞれの価格も表示する
                if (classcat2
                    && typeof classcat2[key]['price02'] != 'undefined'
                    && String(classcat2[key]['price02']).length >= 1) {
                        name += " (" + classcat2[key]['price02'] + "円)";
                }
                
                var option = $('<option />').val(id ? id : '').text(name);
                if (id == selected_id2) {
                    option.attr('selected', true);
                }
                $sele2.append(option);
            }
            checkStock($form, product_id, $sele1.val() ? $sele1.val() : '',
                       $sele2.val() ? $sele2.val() : '');
        }
    }
}

実現されたいのが、貼付されたフォーラムで行っている様に「規格1+規格2」のリストBOXを作成して価格も表示したいという事でしたら、もう少し大きめの改造が必要になります。


----------------
株式会社システムフレンド
羽生 賢太郎(Kentaro Habu)
改造専門店・EC-CUBE工房

regreg
投稿日時: 2011/3/25 17:14
対応状況: −−−
新米
登録日: 2011/3/11
居住地:
投稿: 6
Re: 2.11での規格で分けられた商品の価格表示
ご解答ありがとうございます。
もう少し大きめの改造というのを教えていただければ…と思います。
…申し訳ありません!
一覧表示と詳細表示の
通常価格(税込): 84〜1,260 円
販売価格(税込): 980〜1,260 円

餅100g 500円
餅200g 1,000円
餅300g 1,500円
というように表示したいのです。


あつかましくて申し訳ありませんが、よろしくお願い致します。

habu
投稿日時: 2011/3/25 19:54
対応状況: −−−
長老
登録日: 2006/9/15
居住地:
投稿: 282
Re: 2.11での規格で分けられた商品の価格表示
regreg様

引用:
もう少し大きめの改造というのを教えていただければ…と思います。

テンプレート側に必要なデータは来ているので、
統合版のリストBOXを作成し、選択時にオリジナルのリストBOXを連動させる様にすれば良いと思います。

data/Smarty/templates/default/products/detail.tpl
の最初に以下の2行を追加すると、どの様なデータが来ているのかを確認する事ができます。
<!--{$arrClassCat1|@debug_print_var}-->
<!--{$arrCategories|@debug_print_var}-->

#すみません、実コードを作ってみるのは今のところ時間がとれそうにありません。


----------------
株式会社システムフレンド
羽生 賢太郎(Kentaro Habu)
改造専門店・EC-CUBE工房

habu
投稿日時: 2011/3/28 14:26
対応状況: −−−
長老
登録日: 2006/9/15
居住地:
投稿: 282
Re: 2.11での規格で分けられた商品の価格表示
regreg様

引用:
一覧表示と詳細表示の
通常価格(税込): 84〜1,260 円
販売価格(税込): 980〜1,260 円

餅100g 500円
餅200g 1,000円
餅300g 1,500円
というように表示したいのです。

されたい事はリストBOXの改造ではなく、表示の変更ですね。

詳細ページについては、以下のカスタマイズでいけるのではないかと思います。
(規格2を登録している場合にも対応しています)

data/Smarty/templates/default/products/detail.tpl
の、「販売価格」表示部分と「ポイント」の表示部分の間などに、以下のコードを追加する。
<!-- 規格1+規格2ごとの販売価格+通常価格一覧表示 -->
<!--{if $arrProduct.price02_min != $arrProduct.price02_max}-->
    <h3>価格一覧(税込)</h3>
    <div>
    <!--{if $tpl_classcat_find2}-->
        <!-- 規格2も登録されている場合 -->
        <!--{foreach from=$arrClassCat1 key=c1key item=c1}-->
            <!--{foreach from=$arrCategories[$c1key] key=c2key item=c2}-->
                <!--{if $c2.price02 != ""}-->
                    ・<!--{$arrProduct.name|h}-->&nbsp;<!--{$c1}-->[<!--{$c2.name}-->]&nbsp;<!--{$c2.price02}-->円
                    <!--{if $c2.price01 != ""}-->
                        (通常:<!--{$c2.price01}-->円)
                    <!--{/if}-->
                    <br />
                <!--{/if}-->
            <!--{/foreach}-->
        <!--{/foreach}-->
    <!--{else}-->
        <!-- 規格1のみ登録されている場合 -->
        <!--{assign var="c2arg" value="#"}-->
        <!--{foreach from=$arrClassCat1 key=c1key item=c1}-->
            <!--{if $arrCategories.$c1key.$c2arg.price02 != ""}-->
                ・<!--{$arrProduct.name|h}-->&nbsp;<!--{$c1}-->&nbsp;<!--{$arrCategories.$c1key.$c2arg.price02}-->円
                <!--{if $arrCategories.$c1key.$c2arg.price01 != ""}-->
                    (通常:<!--{$arrCategories.$c1key.$c2arg.price01}-->円)
                <!--{/if}-->
                <br />
            <!--{/if}-->
        <!--{/foreach}-->
    <!--{/if}-->
    </div>
<!--{/if}-->


また、もともとの通常価格、販売価格の表示部分は
リストBOXと連動していますので、削除してしまうのではなく、
スタイルシートで非表示にするのが良いと思います。
(削除すると、恐らくJavaScriptのエラーになるので)
<div class="normal_price" style="display:none;">
<div class="sale_price" style="display:none;">


----------------
株式会社システムフレンド
羽生 賢太郎(Kentaro Habu)
改造専門店・EC-CUBE工房

habu
投稿日時: 2011/3/28 14:40
対応状況: −−−
長老
登録日: 2006/9/15
居住地:
投稿: 282
Re: 2.11での規格で分けられた商品の価格表示
regreg様

因みに、規格1のリストBOX内に、それぞれの販売価格を表示したい場合は、
以下のカスタマイズでいけると思います。

data/Smarty/templates/default/products/detail.tpl
の、規格1リストBOXのselectの中身を赤字の様に変更する。
<!--▼規格1-->
<ul class="clearfix">
    <li><!--{$tpl_class_name1|h}-->:</li>
    <li>
        <select name="classcategory_id1" style="<!--{$arrErr.classcategory_id1|sfGetErrorColor}-->">
        <!--{if $tpl_classcat_find2 || $arrProduct.price02_min == $arrProduct.price02_max}-->
            <!--{html_options options=$arrClassCat1 selected=$arrForm.classcategory_id1.value}-->
        <!--{else}-->
            <!--{assign var="c2arg" value="#"}-->
            <!--{foreach from=$arrClassCat1 key=c1key item=c1}-->
                <!--{assign var="c1_selected" value=""}-->
                <!--{if $c1key == $arrForm.classcategory_id1.value}-->
                    <!--{assign var="c1_selected" value=" selected"}-->
                <!--{/if}-->
                
                <!--{if $arrCategories.$c1key.$c2arg.price02 == ""}-->
                    <option value="<!--{$c1key}-->"<!--{$c1_selected}-->><!--{$c1}--></option>
                <!--{else}-->
                    <option value="<!--{$c1key}-->"<!--{$c1_selected}-->><!--{$c1}-->&nbsp;<!--{$arrCategories.$c1key.$c2arg.price02}-->円</option>
                <!--{/if}-->
            <!--{/foreach}-->
        <!--{/if}-->
        </select>
        <!--{if $arrErr.classcategory_id1 != ""}-->
        <br /><span class="attention">※ <!--{$tpl_class_name1}-->を入力して下さい。</span>
        <!--{/if}-->
    </li>
</ul>
<!--▲規格1-->


----------------
株式会社システムフレンド
羽生 賢太郎(Kentaro Habu)
改造専門店・EC-CUBE工房

sea_gull
投稿日時: 2011/12/11 12:53
対応状況: −−−
常連
登録日: 2011/3/28
居住地:
投稿: 40
Re: 2.11での規格で分けられた商品の価格表示
上記の「規格1のリストBOX内に、それぞれの販売価格を表示」
を設置したのですが、表示されません。

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

ver.2.11.4
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,396名です
総投稿数は110,082件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1304
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.