バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > タグの一覧表示

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
eihu
投稿日時: 2018/5/17 10:26
対応状況: −−−
新米
登録日: 2018/5/17
居住地:
投稿: 3
タグの一覧表示
初めて投稿します。

EC-CUBE3は初めてで、試行錯誤しながらサイトを作っているのですが、
新規ページにタグを一覧表示する方法はないでしょうか。

mtb_tagの中にデータが入っていることはわかるのですが...
そこから表示する方法(またはSQLをかく場所)がわかりません。

よろしくお願いします。

468
投稿日時: 2018/5/17 10:54
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: タグの一覧表示
新規ページとは、ページ管理で追加されたユーザーページの事でしょうか?
それとも新しいコントローラークラスを追加した形でしょうか?

ユーザーページを追加された場合は、
/src/Eccube/Controller/UserDataController.php index()内にデータを取得してくる処理を追加して、twigに渡す形が手っ取り早いです。

$Tags = $app['eccube.repository.master.tag']->findAll();
無条件で全てのタグを取得するのなら、上記の記述で取得できると思います。

return $app->render($file, array('Tags', $Tags));
twigへタグを渡すのは上記のような記述になるかと思います。

あとはtwig側で$Tagsをループさせて表示させればよいかと思います。
(ループの記述は商品一覧ページの記述が参考になると思います)

新しいコントローラーを追加された場合は、そのコントローラーのアクションメソッド内に上記の記述を加えれば良いかと思います。


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

eihu
投稿日時: 2018/5/17 15:49
対応状況: −−−
新米
登録日: 2018/5/17
居住地:
投稿: 3
Re: タグの一覧表示
新規ページはユーザーページの事です。
UserDataControllerには
$Tags = $app['eccube.repository.master.tag']->findAll();
return $app->render($file, array('Tags', $Tags));


ユーザーページには
<div>
{% for Tag in pagination %}
{{ Tag.tag }}
{% endfor %}
</div>
としましたが、表示がされません。

参考にした、list.phpは

{% for Product in pagination %}
{{ Product.getPrice02IncTaxMin|price }}
{% endfor %}

ProductはControllerの中に$Product とあったのですが、
paginationが何を指しているのかわかりません…

ぜひご教授いただけるとありがたいです。
468
投稿日時: 2018/5/18 11:57
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: タグの一覧表示
商品一覧のコントローラーではlist.twigに対して、以下の変数を渡しています。
return $app->render('Product/list.twig', array(
            'subtitle' => $this->getPageTitle($searchData),
            'pagination' => $pagination,
            'search_form' => $searchForm->createView(),
            'disp_number_form' => $dispNumberForm->createView(),
            'order_by_form' => $orderByForm->createView(),
            'forms' => $forms,
            'Category' => $Category,
        ));

この変数の中にpaginationが渡されていますが、
これは指定したページの1ページ分の商品エンティティの配列になります。
ページネーションについては、その前のソースを読んで確認してください。

今回の新規ページでは、全件を表示しようとしていますので、
{% for Tag in Tags %}
と渡した$Tags変数を対象にループを回してください。

因みに
{{ Tag.tag }}
ではなく
{{ Tag.name }}
になるかと思います。


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

eihu
投稿日時: 2018/5/18 14:29
対応状況: 解決済
新米
登録日: 2018/5/17
居住地:
投稿: 3
Re: タグの一覧表示
ありがとうございます!うまくいきました!
EC-CUBE3は複雑ですね、もっと勉強します…

コントローラー
$Tags = $app['eccube.repository.master.tag']->findAll();
 return $app->render($file, array(
  'Tags' => $Tags,
));

twig
{% for Tag in Tags %}
{{ Tag.name }}
{% endfor %}
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.