バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > EC-CUBE3でランディングページ内に購入フォーム

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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を取得?して購入できるようにする。

このようなことが可能でしょうか。わかる方がいらっしゃいましたらお力をお貸しいただければ幸いです。

よろしくお願いいたします。
umebius
投稿日時: 2018/6/11 15:45
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: EC-CUBE3でランディングページ内に購入フォーム
ランディングページ内で購入完結させるのは非常に難しいですが、

ランディングページからカートを飛ばして注文確認画面まで行くのでよければ、それほど難しくありません。

まず購入したい商品ID、商品規格IDを特定。

ランディングページのフォームでAddCartTypeというフォームを使用して、CartServiceのaddProductというメソッドで商品を追加。(先に何か入っていればクリアすることも)

あとは/cart/buystepというURLにリダイレクトすれば、エラーがなければ注文確認画面まで表示できます。


----------

購入フォーム自体をLPに入れる場合ですが(次は完了画面)
受注生成のロジックを自前で書いてやる必要がございます。
その辺りはShoppingServiceのクラスを参考にされると良いかと思います。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

yusuke0911
投稿日時: 2018/6/11 17:28
対応状況: −−−
半人前
登録日: 2017/5/2
居住地:
投稿: 21
Re: EC-CUBE3でランディングページ内に購入フォーム
ご丁寧に説明していただきありがとうございます。

せっかく回答をいただいたのですが、まずフォームを入れることができません。既存のフォーム(非会員購入情報入力というページのフォームの部分)をそのままコピペするとシステムエラーになってしまいます。

あまりに知識がなく申し訳ないのですが、どのようにしてAddCartTypeのフォームを入れるのかというのはお教えいただくことは可能でしょうか。


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へ渡してみてください。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

umebius
投稿日時: 2018/6/11 17:39
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: EC-CUBE3でランディングページ内に購入フォーム
あるいは、カートへ飛ばすまででよろしければ
商品詳細ページと同じフォームを作って、該当の商品ページへPOSTするだけでも可能です。
yusuke0911
投稿日時: 2018/6/12 9:27
対応状況: −−−
半人前
登録日: 2017/5/2
居住地:
投稿: 21
Re: EC-CUBE3でランディングページ内に購入フォーム
お世話になっております。

カートページへ直接飛ばす方法にしたいと思います。

商品詳細ページのフォームを貼り付けてみたのですが、システムエラーとなってしまいます。

どこを修正すればよろしいでしょうか。。。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.