バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品カテゴリによって「カートに入れる」ボタンを変えたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2019/4/9 17:29
対応状況: 解決済
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 748
商品カテゴリによって「カートに入れる」ボタンを変えたい
EC-CUBE 4.0.0

商品カテゴリによって、「カートに入れる」ボタンの文字とスタイルを変えたいです。

レンダリング時のパラメーターにフラグを1つ追加したいだけなのですが、ProductController の index() をオーバーライドするしか方法はないでしょうか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

umebius
投稿日時: 2019/4/10 11:19
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 商品カテゴリによって「カートに入れる」ボタンを変えたい
TemplateEventを使うのはいかがでしょう?
パラメーターのProductのフラグによって、ボタンのclassを変える等、色々考えられるように思います。


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

468
投稿日時: 2019/4/10 11:21
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1791
Re: 商品カテゴリによって「カートに入れる」ボタンを変えたい
プラグインを作ってフックポイントを利用する方法もあると思いますが
手っ取り早いのは、ProductControllerのindex()をオーバーライドする方法では無いでしょうか?
(/app/Customize/Controller/を利用する方法)


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

h_tanaka
投稿日時: 2019/4/11 6:32
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 748
Re: 商品カテゴリによって「カートに入れる」ボタンを変えたい
umebius さん

ありがとうございます。
TemplateEvent はプラグインの event.yml で拾えると思うのですが、app/Customize からも使える方法があるのでしょうか?


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

h_tanaka
投稿日時: 2019/4/11 6:36
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 748
Re: 商品カテゴリによって「カートに入れる」ボタンを変えたい
468 さん

ありがとうございます。
やはり ProductController の index() をオーバーライドする方法が適当ですかね。。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

umebius
投稿日時: 2019/4/13 19:34
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1296
Re: 商品カテゴリによって「カートに入れる」ボタンを変えたい
あ、プラグイン化はしない前提なんですね。
このためのプラグインを作れば非常に簡単に解決できるなと思ったので。

nanasessさんが下記スレッドでCustomizeディレクトリを使うと差分がわかりにくくなりケースバイケースとおしゃっているのに私も同意見で、このレベルのカスタマイズであればオーバーライドはしない方がよいのでは?と思ってしまいます。

https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=21847&forum=4&post_id=91698#forumpost91698
商品カテゴリ

どんなロジックが必要かにもよりますが、商品カテゴリーによってクラスを変えるのであれば、おそらくTwigだけでも対応可能なのではないでしょうか?

(もしそれだけでできないようなら、プラスしてCustomize/EntityにTraitを作ることも考えられますね。)


----------------
EC-CUBE3系4系 カスタマイズ ECのプロがシステム特急案件承ります。
公式インテグレートパートナー (株)U-Mebius

h_tanaka
投稿日時: 2019/4/15 8:49
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 748
Re: 商品カテゴリによって「カートに入れる」ボタンを変えたい
umebius さん

本体カスタマイズを app/Customize を使ってやっていましたが、バージョンアップでのマージ作業のことを考えると、直接本体ソースをカスタマイズして git 管理する方が、確かにメンテナンス性高いですね。
次回からのプロジェクトではそうしてみます。

今回のケースは確かによく考えてみれば twig のカスタマイズのみでいけました。
ありがとうございました!

app/template/default/Product/list.twig
                                {% set displayCart = true %}
                                {% if Product.ProductCategories is not empty %}
                                    {% for ProductCategory in Product.ProductCategories %}
                                        {% for Category in ProductCategory.Category.path %}
                                            {% if Category.id in [8, 9] %}
                                                {% set displayCart = false %}
                                            {% endif %}
                                        {% endfor %}
                                    {% endfor %}
                                {% endif %}
                                {% if displayCart %}
                                    <div class="ec-productRole__btn">
                                        <button type="submit" class="ec-blockBtn--action add-cart" data-cartid="{{ Product.id }}" form="productForm{{ Product.id }}">
                                            {{ 'カートに入れる'|trans }}
                                        </button>
                                    </div>
                                {% else %}
                                    <div class="ec-productRole__btn">
                                        <button type="submit" class="ec-blockBtn--action add-cart" data-cartid="{{ Product.id }}" form="productForm{{ Product.id }}">
                                            {{ '選択する'|trans }}
                                        </button>
                                    </div>
                                {% endif %}


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

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


 



ログイン


ec-cube.co

統計情報

総メンバー数は46,472名です
総投稿数は92,301件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1904
4
468
1791
5
yuh
1594
6
red
1313
7
umebius
1296
8
fukap
907
9
tsuji
840
10
shutta
835
11 ramrun 789
12
tao_s
758
13
h_tanaka
748
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

Copyright© LOCKON CO.,LTD. All Rights Reserved.