バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 複数の規格を同時にカートに入れたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2018/10/16 12:07
対応状況: 解決済
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
複数の規格を同時にカートに入れたい
EC-CUBE3.0.16

商品詳細ページにおいて、規格の組み合わせの数分の「数量」を表示し、1つの「カートに入れる」ボタンで複数の規格を同時にカートに入れたいです。

フォームタイプで数量 quantity を規格の数分生成するとして、twig 側で規格IDをキーにして quantity フォームを呼び出すにはどうすればよいでしょうか?
ソースコードは次のような感じにしたいと思っています。
【Product.ProductClass.id】の部分をどう記述してよいかがわかりません。

src/Eccube/Form/Type/AddCartType.php
            if ($Product->getProductClasses()) {
                // 規格の組み合わせ分の数量を生成
                foreach ($Product->getProductClasses() as $ProductClass) {
                    $builder
                        ->add('quantity_' . $ProductClass->getId(), 'integer', array(
                            'data' => 1,
                            'attr' => array(
                                'min' => 1,
                                'maxlength' => $this->config['int_len'],
                            ),
                            'constraints' => array(
                                new Assert\NotBlank(),
                                new Assert\GreaterThanOrEqual(array(
                                    'value' => 1,
                                )),
                                new Assert\Regex(array('pattern' => '/^\d+$/')),
                            ),
                        ))
                    ;
                }
            }


app/template/test/Product/detail.twig
                    {% if form.classcategory_id1 is defined %}
                        {% for ProductClass in Product.ProductClasses %}
                            {{ form_widget(form.quantity_【ProductClass.id】) }}
                        {% endfor %}
                    {% endif %}


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

h_tanaka
投稿日時: 2018/10/17 17:57
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1610
Re: 複数の規格を同時にカートに入れたい
自己解決しました。

根本的な解決方法ではないですが、
<div style="display:none;">
    {{ form_rest(form) }}
</div>

ですべてのフォームを出力しておき、javaScriptにて値を代入しました。


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

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,305名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.