バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

先着1,000社 プラグインダウンロード&お申込で1,000円分Amazonギフト券プレゼント amazon pay
広告掲載について

サイト内検索

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

フロント機能

新規スレッドを追加する

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

全メーカーの表示なので、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
居住地:
投稿: 1144
Re: メーカーの一覧表示
$makers = $app['eccube.****']->findAll();
上記の記述でメーカーエンティティの配列を取得する事ができると思います。
****の記述は、プラグイン内のServiceProvider内にてRepositoryを定義していると思いますので、そちらを確認してください。
※プラグインのソースを読んでいる訳ではないので、定義されている箇所はあくまで予想です。


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

funai
投稿日時: 2018/5/16 10:54
対応状況: −−−
半人前
登録日: 2018/1/20
居住地:
投稿: 20
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
居住地:
投稿: 1144
Re: メーカーの一覧表示
Makersには、エンティティでは無く、エンティティの配列が入っていますので、
twig上では、ループの処理が必要となります。


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

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

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

twig上に変数がわたっているかどうかを確認したいのですが、
何か方法はありますでしょうか。
468
投稿日時: 2018/5/18 11:49
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 1144
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
居住地:
投稿: 20
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ペイメント

統計情報

総メンバー数は29,901名です
総投稿数は87,059件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1754
4
yuh
1504
5
red
1171
6
468
1144
7
umebius
1007
8
fukap
907
9
shutta
827
10
tsuji
815
11 ramrun 789
12
tao_s
651
13 karin 650
14 sumida 641
15
homan
633
16 DELIGHT 571
17
h_tanaka
519
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.