現在EC-CUBEをカスタマイズする仕事をしており、ログイン情報などで表示を切り替えたい場合にSmartyテンプレート内で条件文の書き方を備忘がてら記します。
バージョンは2.11.x以降とし、
data/Smarty/templates以下にある拡張子.tplファイルを対象とします。
○店舗側
■顧客がログインしているかどうかで表示の切り替え
※ログイン用の記述 ※未ログイン用の記述
■(ログイン前提で)男性か女性かで表示の切り替え
※男性用の記述 ※女性用の記述
■(ログイン前提で)保持ポイントがnポイント以上かどうかで表示の切り替え
※nポイント以上保持者用の記述 ※nポイント未満保持者用の記述
ログイン後はPHPの$_SESSION[‘customer’]内に顧客テーブルdtb_customerのログインされたレコードが連想配列で保存されています。
Smartyテンプレート側では、で値を取得・表示できます。
○管理側
■ログインされたアカウントが『システム管理者』か『店舗オーナー』かで表示の切り替え
※店舗オーナー用の記述 ※システム管理者用の記述
管理画面はそもそもログインしないと利用出来ないので、ログインの有無をもって表示の切り替えを行う事自体必要ありません。
ログイン時に以下の項目が$_SESSION内に記述されますので、Smartyテンプレート側では、で表示する事が可能です。
member_id 管理者ID
login_id ログインされたID
login_name 管理者名
authority 権限
last_login 最終ログイン日時
※この記事は、なかの人(piro556)が書いています。