バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > トップページをランディングページとして使いたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yamatanien
投稿日時: 2019/2/10 22:24
対応状況: −−−
新米
登録日: 2019/2/10
居住地:
投稿: 1
トップページをランディングページとして使いたい
▼テンプレート
[EC-CUBE] 4.0.0

トップページを、一つの商品を紹介するランディングページのような使い方をしたいと思っています。

試しに「detail.twig」のソースを「index.twig」にコピーしましたが「システムエラーが発生しました。」と表示されます。
それならばと、Aという商品の詳細ページのブラウザ上のソースを「default_frame.twig」にコピーして(index.twigはほぼ空)みましたが、デザインは移植できても、カートに入れるボタンを押すと「カートへの追加に失敗しました。」と表示されてしまいます。

いろいろと検索してはみたのですがトランザクションIDというものが関係してカートに入れるが失敗するのかな?? と思ったのですが、4系での解決策がわかりかねています…。

お手数ではございますが初心者のため、詳しく教えてくださいますと幸いです。
よろしくお願いいたします。
468
投稿日時: 2019/2/11 12:10
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: トップページをランディングページとして使いたい
まず、ECCUBEの仕様として、
商品詳細ページのURLを見ていただくと
https://******/products/detail/2
のように「/2」の部分で商品を特定して、DBから情報を取り出し
商品詳細ページを表示しております。

さらにセキュリティの関連でカート投入時に、
DBから取り出し→表示→表示を行ったページからのカート投入かどうかとチェックする仕組みが存在しています。
(<input type="hidden" id="_token" name="_token" value="ランダムな文字列" />の記述がポイントになります)
見知らぬ外部からの攻撃を防ぐ仕組みなのですが、
この仕組みが原因でtwigをコピーするだけでは、商品一覧や商品詳細ページ以外から、
カート投入を行う事が出来ません。
(PHP側の処理も追加する必要があります)

/src/Eccube/Controller/ProductController.php 261行目以降の記述を参考に
/src/Eccube/Controller/TopController.php function index()
に移植されててみては如何でしょうか?
ただ商品詳細ページでは商品情報をDBから取得する処理は、アノテーションで指定しているようですので、
トップページではリポジトリクラスを利用して商品情報を取得すれば良いかと思います。
$Product = $this->productRepository->findWithSortedClassCategories($productId←ここには対象の商品IDを指定);

あと、TopController.phpにはコンストラクタが記述されていないので
ProductController.phpのfunction __construct()を
参考に$this->productRepositoryにProductRepositoryクラスが格納されるように追記する必要があるかと思います。

弊社で、ECCUBE3用にその辺りを簡単に実現できるプラグインをリリースしているのですが、4系版は現在準備中です。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
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.