質問 > フロント機能 > 商品タグの一覧を取得したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
katsuo77 |
投稿日時: 2017/10/29 18:53
対応状況: 解決済
|
半人前 登録日: 2017/10/14 居住地: 投稿: 12 |
商品タグの一覧を取得したい ▼テンプレート
[EC-CUBE] 3.0.15 新規インストール [レンタルサーバ] さくら vps [OS] CentOS 6.9 [PHP] 7.0.21 [データベース] MySQL 5.6.36 お世話になります。 題名にもありますが、SearchProductType.php内においてタグの一覧を取得したいです。 やろうとしていることは、商品一覧ページでタグのプルダウンによる検索機能を実装することで、一応動くようにはなっています。 しかし現状は以下のように手書きで選択肢を追加している状況で、今後の拡張性がまったくありません。。 $builder->add('tag', 'choice', array( 'required' => false, 'empty_value' => '指定なし', 'empty_data' => null, 'choices' => array('1' => '新商品', '2' => 'おすすめ商品'), )); できればタグのリストを取得して'choices' => $Tagsのような形で実装できるといいのですが、何か方法はあるのでしょうか? $Categories = $this->app['eccube.repository.category'] ->getList(null, true); でカテゴリーを取得するのと同じような形でできると嬉しいです。 よろしくお願いいたします。 |
468 |
投稿日時: 2017/10/30 11:53
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: 商品タグの一覧を取得したい カテゴリの記述を参考にすれば、同じような処理を実装出来ます。
$Categories = $this->app['eccube.repository.category']->getList(null, true);は、 /src/Eccube/Repository/CategoryRepository.php 76行目の function getList()を呼び出して返り値を受け取っていますので、 /src/Eccube/Repository/Master/TagRepository.phpに 同じようにfunction getList()を追記すれば、 $Tags= $this->app['eccube.repository.master.tag'] ->getList(); で一覧を取得できるようになると思います。 ※カテゴリは親子階層を組み立てるロジックがありますので、その部分は取り除く必要があります
|
nyorai |
投稿日時: 2017/10/31 9:37
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: 商品タグの一覧を取得したい choice typeではなくentity typeを使えばよいかと思います
https://symfony.com/doc/2.7/reference/forms/types/entity.html |
katsuo77 |
投稿日時: 2017/10/31 17:22
対応状況: −−−
|
半人前 登録日: 2017/10/14 居住地: 投稿: 12 |
Re: 商品タグの一覧を取得したい 468様
こちら返信が遅れて申し訳ありません。 ご回答ありがとうございます。 関数はそこで管理されているのですね。symphonyが初めてで構造がわかっていない部分も多いので勉強になりました。 今回はnyorai様のご回答の方法で実装したのですが、折をみてこちらの方法でも練習したいと思います。 ありがとうございます。 |
katsuo77 |
投稿日時: 2017/10/31 17:23
対応状況: −−−
|
半人前 登録日: 2017/10/14 居住地: 投稿: 12 |
Re: 商品タグの一覧を取得したい nyorai様
ご回答ありがとうございます。 このように便利なコードがあるのですね。。簡単に実装することができました。 ありがとうございます。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |