EC-CUBE4で管理画面から高額商品の場合はカートボタンを問い合わせボタンに変更する

ECで扱うことが難しい高額商品の場合に、カートボタンではなくお問い合わせボタンを表示させる方法です。
今回は50万円以上の場合は、カートボタンではなくお問い合わせボタンを表示させます。

修正対象のページは**商品一覧/商品詳細/お問い合わせ**の3ページとなります。

完成イメージはこんな感じです。(もちろんスマホ版にも対応)
![完成一覧.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422413/f791912f-4f77-56a0-5222-7b1d9da37c20.png)

今回は、主に**コンテンツ管理＞ページ管理**からそれぞれ変更していくため、**テキストエディタでも良いので作業前に必ずバックアップを取ること**をオススメします！

では、早速進めていきます。

# 管理画面から商品一覧ページを変更
まずは商品一覧ページの変更です。
**コンテンツ管理＞ページ管理**から、**商品一覧ページ**をクリックください。
そうするとコードが表示されますので、こちらから3か所変更を加えていきます。

まずは13行目あたりから。高額商品の基準となる金額を設定します。

```twig:変更前

{% set body_class = 'product_page' %}
```

```twig:変更後
{% set body_class = 'product_page' %}
{% set high_price = 500000 %}  {# 高額商品の基準となる金額 #}
```

※50万円以外を設定したい場合は【500000】の部分を【1000000】とかに変更してください。


続いて164～168行目あたり。ここにif文を入れていきます。
基準額未満の場合はカートボタンを表示する様にします。

```twig:変更前
                                </p>
                            </a>

                            {% if Product.stock_find %}
                                {% set form = forms[Product.id] %}
```
```twig:変更後
                                </p>
                            </a>

                            {# ▼▼▼ 高額商品用処理ここから ▼▼▼ #}
                            {% if Product.getPrice02Min < high_price %}
                            {# ▲▲▲ 高額商品用処理ここまで ▲▲▲ #}
                            
                            {% if Product.stock_find %}
                                {% set form = forms[Product.id] %}
```

最後に196行目から204行目あたり。
ここに基準額以上の場合の処理だった場合の処理をelseの中に入れていきます。

```twig:変更前
                            {% else %}
                                <div class="ec-productRole__btn">
                                    <button type="button" class="ec-blockBtn--action" disabled="disabled">
                                        {{ 'ただいま品切れ中です。'|trans }}
                                    </button>
                                </div>
                            {% endif %}
                        </li>
                    {% endfor %}
```
```twig:変更後
                            {% 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 %}
```
以上で商品一覧の変更は完了です。

フロント側を見て確認しましょう。
![完成一覧.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422413/42ac51d0-9f02-31fe-684c-2a8a42b8226b.png)
反映されてますね！
これでまず商品一覧は完了です。

# 管理画面から商品詳細ページを変更
続いて商品詳細ページの変更です。
**コンテンツ管理＞ページ管理**から、**商品詳細ページ**をクリックください。
こちらでも3か所変更を加えていきます。

まずは13行目あたりから。高額商品の基準となる金額を設定します。

```twig:変更前

{% set body_class = 'product_page' %}
```

```twig:変更後
{% set body_class = 'product_page' %}
{% set high_price = 500000 %}  {# 高額商品の基準となる金額 #}
```

続いて301～304行目あたり。ここでもif文を入れていきます。
ここでも基準額未満の場合はカートボタンを表示する様にします。

```twig:変更前
                        </div>
                    {% endif %}
                    <form action="{{ url('product_add_cart', {id:Product.id}) }}" method="post" id="form1" name="form1">
                        {% if Product.stock_find %}
```
```twig:変更後
                        </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の中に入れていきます。

```twig:変更前
                        {{ form_rest(form) }}
                    </form>
                    <div class="ec-modal">
                        <input type="checkbox" id="ec-modal-checkbox" class="checkbox">
```
```twig:変更後
                        {{ 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">
```
以上で商品詳細の変更は完了です。

またまたフロント側を見て確認しましょう。
![完成詳細.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422413/3e2a384f-981b-b60e-a9ca-6bdaf0410f36.png)

こちらも反映されてますね！
これで商品詳細も完了です。

# 管理画面からお問い合わせページを変更
最後はお問い合わせページの変更です。
ここではユーザーがお問い合わせページに来た際の注釈を追加します。
**コンテンツ管理＞ページ管理**から、**お問い合わせ(入力ページ)**をクリックください。

123行目あたりに商品のお問い合わせに関する注釈を追加です。

```twig:変更前
![完成お問い合わせ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422413/d9f91043-5144-4880-2db1-f0cfc823c3bf.png)

                                <p>{{ 'ご注文に関するお問い合わせには、必ず「ご注文番号」をご記入くださいますようお願いいたします。'|trans }}</p>
```

```twig:変更後
                                <p>{{ 'ご注文に関するお問い合わせには、必ず「ご注文番号」をご記入くださいますようお願いいたします。'|trans }}</p>
                                <p>{{ '商品に関するお問い合わせの場合は「商品名」または「商品コード」をご記入くださいますようお願いいたします。'|trans }}</p>

```
以上でお問い合わせ(入力ページ)も完了です。

最後にフロント側を見てみましょう。
![完成お問い合わせ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/422413/0953f0fb-6b21-76ec-6ffc-113cff6f9ccf.png)
注釈もバッチリですね！

以上で**管理画面から高額商品の場合はカートボタンを問い合わせボタンに変更する**対応は完了です。

お疲れ様でした！