ECで扱うことが難しい高額商品の場合に、カートボタンではなくお問い合わせボタンを表示させる方法です。
今回は50万円以上の場合は、カートボタンではなくお問い合わせボタンを表示させます。
修正対象のページは商品一覧/商品詳細/お問い合わせの3ページとなります。
今回は、主にコンテンツ管理>ページ管理からそれぞれ変更していくため、テキストエディタでも良いので作業前に必ずバックアップを取ることをオススメします!
では、早速進めていきます。
管理画面から商品一覧ページを変更
まずは商品一覧ページの変更です。
コンテンツ管理>ページ管理から、商品一覧ページをクリックください。
そうするとコードが表示されますので、こちらから3か所変更を加えていきます。
まずは13行目あたりから。高額商品の基準となる金額を設定します。
{% set body_class = 'product_page' %}
{% set body_class = 'product_page' %}
{% set high_price = 500000 %} {# 高額商品の基準となる金額 #}
※50万円以外を設定したい場合は【500000】の部分を【1000000】とかに変更してください。
続いて164~168行目あたり。ここにif文を入れていきます。
基準額未満の場合はカートボタンを表示する様にします。
</p>
</a>
{% if Product.stock_find %}
{% set form = forms[Product.id] %}
</p>
</a>
{# ▼▼▼ 高額商品用処理ここから ▼▼▼ #}
{% if Product.getPrice02Min < high_price %}
{# ▲▲▲ 高額商品用処理ここまで ▲▲▲ #}
{% if Product.stock_find %}
{% set form = forms[Product.id] %}
最後に196行目から204行目あたり。
ここに基準額以上の場合の処理だった場合の処理をelseの中に入れていきます。
{% else %}
<div class="ec-productRole__btn">
<button type="button" class="ec-blockBtn--action" disabled="disabled">
{{ 'ただいま品切れ中です。'|trans }}
</button>
</div>
{% endif %}
</li>
{% endfor %}
{% else %}
<div class="ec-productRole__btn">
<button type="button" class="ec-blockBtn--action" disabled="disabled">
{{ 'ただいま品切れ中です。'|trans }}
</button>
</div>
{% endif %}
{# ▼▼▼ 高額商品用処理ここから ▼▼▼ #}
{%else%}
<br>
※この商品について詳細を知りたい方は下記よりお問い合わせください。
<div class="ec-productRole__btn">
<a href="{{ url('contact') }}">
<button type="button" class="ec-blockBtn--action">
{{ 'お問い合わせ'|trans }}
</button>
</a>
</div>
{% endif %}
{# ▲▲▲ 高額商品用処理ここまで ▲▲▲ #}
</li>
{% endfor %}
以上で商品一覧の変更は完了です。
フロント側を見て確認しましょう。
反映されてますね!
これでまず商品一覧は完了です。
管理画面から商品詳細ページを変更
続いて商品詳細ページの変更です。
コンテンツ管理>ページ管理から、商品詳細ページをクリックください。
こちらでも3か所変更を加えていきます。
まずは13行目あたりから。高額商品の基準となる金額を設定します。
{% set body_class = 'product_page' %}
{% set body_class = 'product_page' %}
{% set high_price = 500000 %} {# 高額商品の基準となる金額 #}
続いて301~304行目あたり。ここでもif文を入れていきます。
ここでも基準額未満の場合はカートボタンを表示する様にします。
</div>
{% endif %}
<form action="{{ url('product_add_cart', {id:Product.id}) }}" method="post" id="form1" name="form1">
{% if Product.stock_find %}
</div>
{% endif %}
{# ▼▼▼ 高額商品用処理ここから ▼▼▼ #}
{% if Product.getPrice02IncTaxMin < high_price %}
{# ▲▲▲ 高額商品用処理ここまで ▲▲▲ #}
<form action="{{ url('product_add_cart', {id:Product.id}) }}" method="post" id="form1" name="form1">
{% if Product.stock_find %}
最後に336行目から339行目あたり。
ここに基準額以上の場合の処理だった場合の処理をelseの中に入れていきます。
{{ form_rest(form) }}
</form>
<div class="ec-modal">
<input type="checkbox" id="ec-modal-checkbox" class="checkbox">
{{ form_rest(form) }}
</form>
{# ▼▼▼ 高額商品用処理ここから ▼▼▼ #}
{% else %}
<br>
※この商品について詳細を知りたい方は下記よりお問い合わせください。
<div class="ec-productRole__btn">
<a href="{{ url('contact') }}">
<button type="button" class="ec-blockBtn--action">
{{ 'お問い合わせ'|trans }}
</button>
</a>
</div>
{% endif %}
{# ▲▲▲ 高額商品用処理ここまで ▲▲▲ #}
<div class="ec-modal">
<input type="checkbox" id="ec-modal-checkbox" class="checkbox">
以上で商品詳細の変更は完了です。
こちらも反映されてますね!
これで商品詳細も完了です。
管理画面からお問い合わせページを変更
最後はお問い合わせページの変更です。
ここではユーザーがお問い合わせページに来た際の注釈を追加します。
コンテンツ管理>ページ管理から、**お問い合わせ(入力ページ)**をクリックください。
123行目あたりに商品のお問い合わせに関する注釈を追加です。
![完成お問い合わせ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422413/d9f91043-5144-4880-2db1-f0cfc823c3bf.png)
<p>{{ 'ご注文に関するお問い合わせには、必ず「ご注文番号」をご記入くださいますようお願いいたします。'|trans }}</p>
<p>{{ 'ご注文に関するお問い合わせには、必ず「ご注文番号」をご記入くださいますようお願いいたします。'|trans }}</p>
<p>{{ '商品に関するお問い合わせの場合は「商品名」または「商品コード」をご記入くださいますようお願いいたします。'|trans }}</p>
以上でお問い合わせ(入力ページ)も完了です。
以上で管理画面から高額商品の場合はカートボタンを問い合わせボタンに変更する対応は完了です。
お疲れ様でした!