バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > メーカーの一覧表示

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
funai
投稿日時: 2018/5/15 17:37
対応状況: −−−
半人前
登録日: 2018/1/20
居住地:
投稿: 22
メーカーの一覧表示
メーカープラグイン内で
新たにイベントを追加して、メーカーの取得、表示をしたいです。

全メーカーの表示なので、SQLで取得をすればよいと思うのですが(SELECT maker_id,name FROM plg_maker WHERE del_flg=0)
どこに入力すればよいのかが分からないため、プラグイン内でイベントを作成しました。


event.yml
# 検索ページに設定
Block/search_category.twig:
    - [onRenderProductSearch, NORMAL]



MakerEvent.php
public function onRenderProductSearch(TemplateEvent $event)
{
}


何卒、よろしくおねがいします。
468
投稿日時: 2018/5/16 8:44
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: メーカーの一覧表示
$makers = $app['eccube.****']->findAll();
上記の記述でメーカーエンティティの配列を取得する事ができると思います。
****の記述は、プラグイン内のServiceProvider内にてRepositoryを定義していると思いますので、そちらを確認してください。
※プラグインのソースを読んでいる訳ではないので、定義されている箇所はあくまで予想です。


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

funai
投稿日時: 2018/5/16 10:54
対応状況: −−−
半人前
登録日: 2018/1/20
居住地:
投稿: 22
Re: メーカーの一覧表示
コントローラーに

public function index(Application $app, Request $request, $id = null)
  {
        /**
         * こだわり検索
         */
        $Makers = app['eccube.plugin.maker.repository.product_maker']->findAll();
        return $app->renderView('Maker/Resource/template/default/maker_all.twig',array(
                'Makers' => $Makers
        ));
  }


を追加しました。
maker_all.twig

<div class="plugin_maker_code search">
        <p class="item_code">メーカー: {{ Makers.maker_name }}</p>
    <p>こんにちわ</p>
</div>



を設定しましたが、ページには
メーカー:

こんにちわ

としか表示されていません、取得の方法がおかしいのでしょうか?
468
投稿日時: 2018/5/16 13:07
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: メーカーの一覧表示
Makersには、エンティティでは無く、エンティティの配列が入っていますので、
twig上では、ループの処理が必要となります。


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

funai
投稿日時: 2018/5/17 18:30
対応状況: −−−
半人前
登録日: 2018/1/20
居住地:
投稿: 22
Re: メーカーの一覧表示
forで囲んでみましたが、今度は
こんにちわ

のみが表示されています。

twig上に変数がわたっているかどうかを確認したいのですが、
何か方法はありますでしょうか。
468
投稿日時: 2018/5/18 11:49
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: メーカーの一覧表示
twig上で変数をdampする方法の一つに
{{dump($hoge)}}
を利用する方法があります。

ただ、twigの設定を変更する必要があるようで、その設定がどこにあるのか、
私は把握しておりません。

まずはController側で、var_dump($Makers);を処理して、
DBからデータが取り出せているか確認されてみては如何でしょうか?

それかtwig上で{{ $Makers|length }}で配列の件数を確認してみる方法もあります。


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

funai
投稿日時: 2018/5/18 18:00
対応状況: −−−
半人前
登録日: 2018/1/20
居住地:
投稿: 22
Re: メーカーの一覧表示
コントローラーに記入した内容が違っていたのに気づいたので、
新規でコントローラーを作成しましたが、
設定方法が分かりません。

フロント画面では
src/Eccube/ControllerProvider/FrontControllerProvider.php

$c->match('/block/test', '\Eccube\Controller\Block\testController::index')->bind('block_test');

にするのは分かるのですが、

プラグインだと
SampleTestServiceProvider.phpファイルに記入することは分かるのですが、
twigファイルの記入方法が他のファイル等を見ても載っておらず、
困っています。

ぜひとも、よろしくお願いします。

※見よう見まねで書いてみましたが、logが表示されないので、呼び出されてないと思います。
$app->match('/block/maker_all', '\Plugin\Maker\Controller\Block\MakerAllController::index')
->bind('block_maker_all');
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.