はじめに

ECサイトでは当然のことながら会員と非会員で動作を変えたいということがよくあります。
EC-CUBE3はSymfony2、EC-CUBE4はSymfony3〜5をベースにしていますので、ログインや権限の判別もSymfonyに従います。

PHPファイルへの記述方法

コントローラやサービスクラスを見ると次のような書き方がよくされています。

if ($app->isGranted('ROLE_USER')) {
   return $app->redirect(...);
}

このisGrantedがユーザーの権限を判定するメソッドです。
ROLE_USERは会員(顧客)としてログインしている場合に割り当てられる権限です。

Twigファイルへの記述方法

PHPファイル以外にtwigテンプレート内でも同様に書くことができます。

{% if app.isGranted('ROLE_USER') %}

{% endif %}

あるいはEC-CUBE3なら関数形式でも書けます。

{% if is_granted('ROLE_USER') %}

{% endif %}

ECCUBE制作トップへ

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ