バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 現在のポイント所持数の表示について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
jin56
投稿日時: 2020/3/19 11:10
対応状況: −−−
半人前
登録日: 2020/1/12
居住地:
投稿: 26
現在のポイント所持数の表示について
EC-CUBE 3.0.10を使用しております。

会員の現在のポイント所持数をトップページに表示しようと思い、
下記を入れましたが、ポイントがあっても0ポイントとなってしましました。

トップページでは取得されないのでしょうか??

{% if is_granted('ROLE_USER') %}現在の保有ポイントは「<span class="text-primary">{{ point.current >= 0 ? point.current|number_format : 0 }} pt</span>」です。{% endif %}

よろしくお願いいたします。
rmaki
投稿日時: 2020/3/19 18:33
対応状況: −−−
半人前
登録日: 2018/5/17
居住地:
投稿: 26
Re: 現在のポイント所持数の表示について
参考になるかどうか不明ですが。
こちらでは、EC-CUBE 3.0.16です。
Pointプラグインを利用している前提です。
event.ymlに、トップページでの設定がないので
eventを追加するか、EC-CUBE本体を触っているのであれば
使用したいControllerに、以下を追加する必要がありそうです。

弊社では、header部分にポイントを出すために
当該ブロックのControllerに以下のコードを追加して表示しています。


$point = 0;
        if($app->isGranted('ROLE_USER') && isset($app['eccube.plugin.point.repository.pointcustomer'])){
            // ポイントプラグインのレポジトリにあるメソッドを使用
            $point = $app['eccube.plugin.point.repository.pointcustomer']->getLastPointById($app->user()->getId());
        }
++++++省略+++++++
        return $app->render('Block/header_search_box.twig', array(
            'form' => $form->createView(),
            'Categories' => $Categories,
            'Cart' => $Cart,
            'pagination' => $pagination,
            'point'  => $point,
        ));



{{ point | number_format }}



ご参考まで。
jin56
投稿日時: 2020/3/19 21:50
対応状況: −−−
半人前
登録日: 2020/1/12
居住地:
投稿: 26
Re: 現在のポイント所持数の表示について
rmaki 様

ご返答頂き、ありがとうございます!
Pointプラグインを利用しております。
プログラム初心者のため、再度質問となり申し訳ありません。

同じくheader部分にポイントを出す予定ですが、
当該ブロックのControllerとは、どちらのファイルになりますか?

ご指南頂ければ幸いです。

jin56
投稿日時: 2020/3/21 20:44
対応状況: −−−
半人前
登録日: 2020/1/12
居住地:
投稿: 26
Re: 現在のポイント所持数の表示について
初歩的な質問で申し訳ございません。

$point = null;
if($app->isGranted('ROLE_USER')){
$point = $app['eccube.plugin.point.repository.pointcustomer']->getLastPointById($app->user()->getId());
}
return $app->render('index.twig', array('point' => $point));
}

上記をTopControllerにて、下記の中に入れれば表示できることが分かりました。

public function index(Application $app)
{
   省略
  }

ただ、既に他のプログラムがあり、
下記のreturnで終わっております。

return $app->render('index.twig', $Products);

こちらの後にプログラムを入れるには、どのように続けばいいのか分かりません。

return $app->render('index.twig', $Products);

$point = null;
if($app->isGranted('ROLE_USER')){

省略

return $app->render('index.twig', array('point' => $point));
}

としても表示されませんでした。

本当にプログラム初心者の質問で申し訳ございませんが、
どなたか教えて頂けると助かります。
rmaki
投稿日時: 2020/3/23 10:42
対応状況: −−−
半人前
登録日: 2018/5/17
居住地:
投稿: 26
Re: 現在のポイント所持数の表示について
プログラム的によい悪いは別として
returnの第2引数が、テンプレート側にわたす引数となっているので

$Products['point'] = $point;
return $app->render('index.twig', $Products);

でいけるのではと思います。
ご確認よろしくお願いいたします。
jin56
投稿日時: 2020/3/23 14:35
対応状況: 解決済
半人前
登録日: 2020/1/12
居住地:
投稿: 26
Re: 現在のポイント所持数の表示について
無事実装することができました!
最後までご対応頂き、本当にありがとうございます。。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は60,864名です
総投稿数は95,423件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
2038
4
468
2020
5
yuh
1612
6
umebius
1588
7
red
1399
8
h_tanaka
992
9
fukap
907
10
tsuji
863
11
shutta
835
12 ramrun 789
13
tao_s
783
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.