[EC-CUBE 2.11.2] 価格お問合せ商品を設定したい

できるだけ楽チンにやろうと思うと、既存のフィールドを利用するのが一番です。
今回は、商品ステータスに「お問合せ商品」を追加して、それで条件分岐させる方法を試してみました。

1.管理画面>システム設定>マスターデータ管理 で、mtb_status を表示。新規レコードを追加します。

2.商品ステータスアイコンの設定を行います。mtb_status_image で新規レコードを追加します。

3.他のステータスアイコンに習って、アイコン画像を作成しておいてください。場所は、html/user_data/packages/default/img/icon ディレクトリです。

4.管理画面>商品メニュー から、お問合せにしたい商品の編集画面を開き、商品ステータスで、「お問合せ商品」にチェックマークを入れて登録します。

5.data/Smarty/templates/default/products/list.tpl を以下のように修正します。

166行目付近にコードを追加します。$status の数値は、商品ステータスIDです。


			</li>
            <!--{if $status eq '6'}--><!--{assign var=ask_flg value=1}--><!--{/if}-->
        <!--{/foreach}-->

200行目付近から始まる、お買い物カゴ部分のコードの前後に以下のコードを追加します。

<!--{if $ask_flg eq '1'}-->
    <p align="right"><a href="<!--{$smarty.const.ROOT_URLPATH}-->contact/">この商品の購入やお問合せはこちらよりお問合せください。</a></p>
    <!--{assign var=ask_flg value=''}-->
<!--{else}-->
<!--▼買い物かご-->

260行目付近に、終了IFを追加します。

<!--{/if}-->

その他、お問合せ商品で非表示にしたい項目は、

<!--{if $ask_flg ne '1'}-->非表示にしたい項目<!--{/if}-->

でいけるんじゃないかと思います。

6.data/Smarty/templates/default/products/detail.tpl を以下のように修正します。
85行目あたりに以下のコードを挿入

</li>
        <!--{if $status eq '6'}--><!--{assign var=ask_flg value=1}--><!--{/if}-->
        <!--{/foreach}-->
<!--{/if}-->
<!--▲商品ステータス-->

194行目あたりに以下のコードを挿入


<!--▼買い物かご-->
<!--{if $ask_flg eq '1'}-->
    <p align="right"><a href="<!--{$smarty.const.ROOT_URLPATH}-->contact/">この商品の購入やお問合せはこちらよりお問合せください。</a></p>
    <!--{assign var=ask_flg value=''}-->
<!--{else}-->
<div class="cart_area clearfix">

290行目あたりに以下のコードを挿入

<!--{/if}-->

細かいところはチェックしていないので、これだけでOKという完成されたカスタマイズ例ではありません。でも一応は動作するみたいなので、参考にはなると思います。