質問 > その他 > EC-CUBE3でランディングページ内に購入フォーム |
その他
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yusuke0911 |
投稿日時: 2018/6/12 9:27
対応状況: −−−
|
半人前 登録日: 2017/5/2 居住地: 投稿: 21 |
Re: EC-CUBE3でランディングページ内に購入フォーム お世話になっております。
カートページへ直接飛ばす方法にしたいと思います。 商品詳細ページのフォームを貼り付けてみたのですが、システムエラーとなってしまいます。 どこを修正すればよろしいでしょうか。。。 |
umebius |
投稿日時: 2018/6/11 17:39
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: EC-CUBE3でランディングページ内に購入フォーム あるいは、カートへ飛ばすまででよろしければ
商品詳細ページと同じフォームを作って、該当の商品ページへPOSTするだけでも可能です。 |
umebius |
投稿日時: 2018/6/11 17:35
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: EC-CUBE3でランディングページ内に購入フォーム yusuke0911様
可能な限りはお話いたしますが、容易にできるものではなく、おそらく非常に長く複雑になると思います。 まず、前提なのですがLPはコンテンツ管理のページ管理から 作成されたページでしょうか? すみません、Topページですね。 ではTopControllerでProductControllerのdetailメソッド内にある $Product = ~~~// 事前に取得しておく /* @var $builder \Symfony\Component\Form\FormBuilderInterface */ $builder = $app['form.factory']->createNamedBuilder('', 'add_cart', null, array( 'product' => $Product, 'id_add_product_id' => false, )); $event = new EventArgs( array( 'builder' => $builder, 'Product' => $Product, ), $request ); $app['eccube.event.dispatcher']->dispatch(EccubeEvents::FRONT_PRODUCT_DETAIL_INITIALIZE, $event); /* @var $form \Symfony\Component\Form\FormInterface */ $form = $builder->getForm(); を追加して、twigへ渡してみてください。
|
yusuke0911 |
投稿日時: 2018/6/11 17:28
対応状況: −−−
|
半人前 登録日: 2017/5/2 居住地: 投稿: 21 |
Re: EC-CUBE3でランディングページ内に購入フォーム ご丁寧に説明していただきありがとうございます。
せっかく回答をいただいたのですが、まずフォームを入れることができません。既存のフォーム(非会員購入情報入力というページのフォームの部分)をそのままコピペするとシステムエラーになってしまいます。 あまりに知識がなく申し訳ないのですが、どのようにしてAddCartTypeのフォームを入れるのかというのはお教えいただくことは可能でしょうか。 |
umebius |
投稿日時: 2018/6/11 15:45
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: EC-CUBE3でランディングページ内に購入フォーム ランディングページ内で購入完結させるのは非常に難しいですが、
ランディングページからカートを飛ばして注文確認画面まで行くのでよければ、それほど難しくありません。 まず購入したい商品ID、商品規格IDを特定。 ランディングページのフォームでAddCartTypeというフォームを使用して、CartServiceのaddProductというメソッドで商品を追加。(先に何か入っていればクリアすることも) あとは/cart/buystepというURLにリダイレクトすれば、エラーがなければ注文確認画面まで表示できます。 ---------- 購入フォーム自体をLPに入れる場合ですが(次は完了画面) 受注生成のロジックを自前で書いてやる必要がございます。 その辺りはShoppingServiceのクラスを参考にされると良いかと思います。
|
yusuke0911 |
投稿日時: 2018/6/11 15:30
対応状況: −−−
|
半人前 登録日: 2017/5/2 居住地: 投稿: 21 |
EC-CUBE3でランディングページ内に購入フォーム ▼テンプレート
[EC-CUBE]3.0.16 [レンタルサーバ]ロリポップ スタンダード [OS] macOS High Sierra [PHP]PHP Version 5.6.21 [データベース]mysql EC-CUBE3を新しくインストールしました。 トップページをランディングページにカスタマイズし、そのランディングページ内に購入フォームを入れたいと考えています。 以下のようなイメージで考えているのですが、素人なのでわからないことも多く、間違っているところや必要な作業などお教えいただければ幸いです。 ①ランディングページ内に、既存の購入フォームのコードをコピーして入れる ②特定の商品IDを取得?して購入できるようにする。 このようなことが可能でしょうか。わかる方がいらっしゃいましたらお力をお貸しいただければ幸いです。 よろしくお願いいたします。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |