質問するログイン新規登録

回答編集履歴

1

追記

2018/03/26 16:50

投稿

xenbeat
xenbeat

スコア4258

answer CHANGED
@@ -1,3 +1,21 @@
1
1
  > フロントの商品詳細ページにて購入したい数量を入力するフォームがあり、それを特定の商品コードの商品だけ最低販売数を3からに設定したい。
2
2
 
3
- 該当箇所はAddCartTypeaというSymfonyフォームクラスを利用しているようなので、[ここ](https://github.com/EC-CUBE/ec-cube/blob/master/src/Eccube/Form/Type/AddCartType.php#L86)の数値をif文や[FormEvents](https://symfony.com/doc/2.8/form/events.html)を使って動的に変更すればやりたいことは実現できるかと思います。
3
+ 該当箇所はAddCartTypeaというSymfonyフォームクラスを利用しているようなので、[ここ](https://github.com/EC-CUBE/ec-cube/blob/master/src/Eccube/Form/Type/AddCartType.php#L86)の数値をif文や[FormEvents](https://symfony.com/doc/2.8/form/events.html)を使って動的に変更すればやりたいことは実現できるかと思います。
4
+
5
+ ### 追記
6
+ Viewだけで完結したいようなのでその方針で回答します。
7
+ 未検証ですが、以下のようにすればいけると思います。
8
+ ```
9
+ <script>
10
+ $(function (){
11
+ {% for pc in Product.ProductClasses if pc.code in ["s-001", "s-002"] %}
12
+ $('input[name="quantity"]').attr("min",3);
13
+ $('input[name="quantity"]').val(3);
14
+ {% endfor %}
15
+ });
16
+ </script>
17
+ ```
18
+ さくっと回答できると思いましたが少し手間取りました。
19
+ ソースコード見てるとEC-CUBEって1商品1コードではないんですね。。。
20
+ 商品に紐づいたバリエーションを表すモデル(エンティティ)があるのでその中で判定するという処理になります。
21
+ 上記の通りscriptタグ内でtwigのifやforが使用できますので、ご自身で試行錯誤されてみてください。