機能要望 > その他 > EC-CUBE3:商品詳細に追加したフォームをカートに表示したい |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
umebius |
投稿日時: 2017/2/5 15:53
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: EC-CUBE3:商品詳細に追加したフォームをカートに表示したい とりあえずカートに利用目的を入れるまでの行程になりますが、下記の修正が必要です。
まず、/src/Eccube/Entity/CartItem.phpに各商品の利用目的を保存するためのプロパティが必要です。$mokutekiというプロパティとセッターゲッターを書いてください。 次に、/src/Eccube/Service/CartService.phpのaddProductメソッド、setProductQuantityメソッドを修正して、CartItemに「利用目的」情報をセットしてください。 AddCartTypeのフォームのデータをCartServiceに渡して保存するのは/src/Eccube/Controller/ProductController.phpの役割です。 おそらく下記のような記述があると思いますので、利用目的($addCartData['mokuteki'])も同時にCartServiceへ渡すように修正してください。 $app['eccube.service.cart']->addProduct($addCartData['product_class_id'], $addCartData['quantity'])->save(); 以上はカートに利用目的を入れるまでですが、その後Shopping関連はOrderDetail、ShipmentItem、ShoppingServiceなど様々な修正が必要です。データベースの項目追加、定義ファイルの修正も必要です。 メールはMail/order.twigを修正することになるかと思います。
|
fresh |
投稿日時: 2017/2/5 15:30
対応状況: −−−
|
半人前 登録日: 2016/11/29 居住地: 投稿: 24 |
EC-CUBE3:商品詳細に追加したフォームをカートに表示したい ------------------------------------------------------
[EC-CUBE] 3.0.10 [レンタルサーバ] さくら ------------------------------------------------------ 初めて投稿します。 いろいろ試してみたのですが、どうしてもわからないので質問させてください。 何がしたいかというと、商品詳細ページに利用目的のセレクトボックス追加しました。 AddCartType.php何に ->add('mokuteki', 'choice', array( 'choices' => array('__unselected' => '選択してください', '1' => '自分用', '2' => '家族', '3' => 'プレゼント', '4' => 'その他'), )) と、追加し /Product/detail.twig 内に {{ form_widget(form.mokuteki) }} {{ form_errors(form.mokuteki) }} といれて、セレクターを表示させるまではできたのですが、 そのあとの/cartや/shoppingのにも表示させ、注文確認メールでも記載されるようにしたいのですが、いろいろ試してもさっぱりで。。 単純に{{ form_widget(form.mokuteki) }}で表示されるとおもっていのですが、無反応で。。 プラグインは予算的に厳しいので最終手段にして、勉強のためにももうちょっとチャレンジしたのですが、ヒントだけでもどなかた教えてくれませんでしょうか。。 まずいじるファイルは下記くらいなのかとおもっているのですが他にもあるのでしょうか? ・AddCartType.php ・/Product/detail.twig ・/Cart/index.twig ・/Shopping/index.twig ・/Mail/order.twig 基本からしっかり学ぶSymfony2入門とか買ってみたのですが、やはりちんぷんかんぷんで。。 すみませんがよろしくお願いいたします。 |
« 1 (2) |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |