質問 > フロント機能 > 特集ページを作りたい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
c-fox |
投稿日時: 2017/11/18 3:30
対応状況: −−−
|
新米 登録日: 2017/10/14 居住地: 投稿: 6 |
特集ページを作りたい ▼テンプレート
[EC-CUBE] 3.0.15 インストール [レンタルサーバ] さくらのレンタルサーバ スタンダード [OS] Windows7 64bit Ultimate SP1 [PHP] 5.6 [データベース] MySQL 5.5 [WEBサーバ] [ブラウザ] Google Chrome [導入プラグインの有無] なし [カスタマイズの有無] フォルダ(ディレクトリ)の配置変更 [現象] まず、やりたいことですが、トップページのリンクバナーから各特集ページに遷移させて、特集ページには例えばクリスマス特集だった場合、商品の検索ワードに「クリスマス」と登録されている商品全てを一覧表示させたいです。 特集ページなだけに、単に検索して表示したような形にしたくないので、新規ページを作成してヘッダー画像や特集説明の下に一覧を表示するようにしたいので、おこなったことは以下です。 ① 管理画面から新規ページの作成 ② 新規画面のmain部分にヘッダー画像を配置 ③ デフォルトの商品一覧ページのitem_listの部分だけを②の下にコピペ ④ XmasControllerの作成 *indexメソッド内にDBへの命令を書こうとしているがこれがわからない(Doctrin?がわからない) ⑤ FrontControllerに $c->match('/user_data/xmas','\Eccube\Controller\XmasController::index')->bind('user_data_xmas'); と追記 ④の部分だけではないとは思いますが、わからないところだらけで初歩的な部分でつまずいています。 どうか皆様のご助力お願いいたします。 |
468 |
投稿日時: 2017/11/18 10:17
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 特集ページを作りたい ECCUBEで新しいページを作る方法は、主に以下の2つがあると考えているのですが、
新しいページを作る作業が少し混合してしまっているように思われます。 1.管理画面のページ管理から新しいページを作る UserControllerを介して、twigを表示する動きとなるので 簡易的なHTMLページしか作れない。 (そのままではデータベースのデータを取得したりする事ができない。) レイアウトブロックが有効。 2.Controllerクラスを新規追加 基本何でも出来るが、 ルーティングを追加したり(symfonyの知識が必要)、 レイアウトブロックを利用したい場合、 dtb_page_layoutにレコードを追加する必要がある。 提示いただいた手順を見ていると、 1.と2.がごちゃ混ぜになっているように思えます。 (わざと後者の[dtb_page_layoutにレコードを追加する]部分を 管理画面のページ管理から行われているのであれば、長々と申し訳ないです。 ⑤のルーティングは問題無く、動いていますか?) 質問いただいているDBへの命令部分ですが、 商品一覧の処理が参考になると思います。 /src/Eccube/Controller/ProductController.php 83行目 $qb = $app['eccube.repository.product']->getQueryBuilderBySearchData($searchData); ※$searchDataは画面からPOSTされた検索条件の入力値です。 ↓ /src/Eccube/Repository/ProductRepository.php 97行目 function getQueryBuilderBySearchData()内で、$qbを組み立てています。 ※$qbはQuertyBuilderのインスタンスを格納します。 ここの処理がDBからデータを取得する条件を組み立てる参考になると思います。 ↓ /src/Eccube/Controller/ProductController.php 95行目 $pagination = $app['paginator']()->paginate(..省略..) ※ここでページネーターを介して、 DBよりレコードのエンティティのコレクション(配列)を取得しています。 ※SQLは引数の$qbや現ページ、1ページあたりの表示件数を元に組み立てられ、実行されていると思います。 今回のご要望であれば、クリスマス用の$qbを組み立てる処理を 新たにProductRepository.php内に追加し、 それを呼び出せば解決するのではないかと思います。
|
c-fox |
投稿日時: 2017/11/18 16:26
対応状況: 確認中
|
新米 登録日: 2017/10/14 居住地: 投稿: 6 |
Re: 特集ページを作りたい シロハチ様
早々のご回答ありがとうございます。 そもそもSymfonyの知識もなく、EC-CUBE初心者でよくわからないままいくつかのサイトを見て手探りでやってみたのでごちゃ混ぜになってるようです。 ですので、⑤のルーティングが問題なく動いているかもわからないですが、ご回答いただいたようにやってみます。 またご報告させていただきます。 |
c-fox |
投稿日時: 2017/11/18 21:59
対応状況: 解決済
|
新米 登録日: 2017/10/14 居住地: 投稿: 6 |
Re: 特集ページを作りたい シロハチ様
お世話になります。 なんとか特集ページを出すことができました。 ただ、やはり構造が良く分かっていないので、かなり力わざとなりましたが・・・。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |