はじめに
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 %}
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。