質問 > その他 > トップページにユーザーの保有ポイントを表示したい |
その他
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
suzuka |
投稿日時: 2019/10/16 13:53
対応状況: −−−
|
常連 登録日: 2017/10/20 居住地: 投稿: 36 |
トップページにユーザーの保有ポイントを表示したい [EC-CUBE] EC-CUBE3 (新規インストール)
[レンタルサーバ エックスサーバ [導入プラグインの有無] 複数あり [現象] トップページにユーザーの保有ポイントを表示したいのですが、どのファイルを修正すればいいのでしょうか? ご教授いただけるとありがたいです。よろしくお願いします。 |
468 |
投稿日時: 2019/10/17 11:39
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: トップページにユーザーの保有ポイントを表示したい ご利用のプラグインはPointプラグインでしょうか?
マイページにポイントに関する情報を表示している処理を確認すると 保有ポイントは以下のような処理で取得しているようです // ポイント計算ヘルパーを取得 $calculator = $this->app['eccube.plugin.point.calculate.helper.factory']; // 会員保有ポイントを取得 $currentPoint = $calculator->getPoint(); ECCUBE本体を直接カスタマイズするのであれば、 /src/Eccube/Controller/TopController.php 辺りで保有ポイントを取得してtwigに渡すようにすれば良いかと思います。 ヘッダー等共通部分でブロックの箇所に表示したい場合は 該当ブロックのコントローラークラスに処理を追加すれば良いと思います。 プラグインをカスタマイズする場合は イベントフックの追加とイベント自体の追加が必要となり 手を加える箇所が複数ファイルに渡るのではないかと思います。
|
suzuka |
投稿日時: 2019/10/17 18:08
対応状況: −−−
|
常連 登録日: 2017/10/20 居住地: 投稿: 36 |
Re: トップページにユーザーの保有ポイントを表示したい ご返答ありがとうございます。
プラグインはPointプラグインです。 ECCUBE本体を直接カスタマイズしようと思うのですが、保有ポイントを取得するところがうまくいきません。 logo.twigに表示したいのですが、logo.twigのコントローラークラスが見当たらず苦戦しております。 ECCUBE初心者ですみません・・ ご教諭いただけると幸いです。 |
468 |
投稿日時: 2019/10/18 10:19
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: トップページにユーザーの保有ポイントを表示したい Eccubeのブロックにはコントローラーを介するものと
twigのみ処理されるものがあります。 今回のlogoブロックはtwigのみで処理されるもので コントローラークラスが存在しておりません。 その為、データベースからデータを取り出すような処理を追加する事はできません。 (厳密にはtwig上でデータを取り出す方法はあるのですが 今回のような保有ポイントの取り出しを行うのは難しいのではないかと思います) ご自身でコントローラーを追加されるか別のブロックを利用されるのが良いかと思います。 コントローラーを追加される場合は ブロックの仕組みについては以下のページで説明されていますので こちらを参考にコントローラーを追加してみてください。 https://umebius.com/eccube/add_dynamic_block_programmatically/
|
suzuka |
投稿日時: 2019/10/23 9:28
対応状況: −−−
|
常連 登録日: 2017/10/20 居住地: 投稿: 36 |
Re: トップページにユーザーの保有ポイントを表示したい ご返答ありがとうございます。
教えて頂いたURLを参考にlogoのコントローラーを追加いたしました。 保有ポイントを表示させるにはコントローラーに どのような記述をすればよいでしょうか? ご教諭いただけると幸いです。 よろしくお願いいたします。 |
468 |
投稿日時: 2019/10/23 10:16
対応状況: −−−
|
神 登録日: 2008/10/26 居住地: 投稿: 3217 |
Re: トップページにユーザーの保有ポイントを表示したい // ポイント計算ヘルパーを取得
$calculator = $app['eccube.plugin.point.calculate.helper.factory']; // 会員保有ポイントを取得 $currentPoint = $calculator->getPoint(); で取得できるのではないでしょうか? $appは以下のようにメソッドへの引数で渡ってくると思います。 public function index(Application $app) $currentPointをtwignに渡す必要がありますので renderの第2引数で渡してやればtwig側で変数として扱えると思います。 return $app->render('******.twig', array( 'currentPoint ' => $currentPoint , ));
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |