バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2020/3/19 11:10
対応状況: −−−
現在のポイント所持数の表示について
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
居住地:
投稿: 34
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 }}



ご参考まで。
ゲスト
投稿日時: 2020/3/19 21:50
対応状況: −−−
Re: 現在のポイント所持数の表示について
rmaki 様

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

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

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

ゲスト
投稿日時: 2020/3/21 20:44
対応状況: −−−
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
居住地:
投稿: 34
Re: 現在のポイント所持数の表示について
プログラム的によい悪いは別として
returnの第2引数が、テンプレート側にわたす引数となっているので

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

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
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.