[EC-CUBE 2.13]ログインしている時としていない時のヘッダーの表示内容を変える
- 公開日:2015/3/5
この記事は最終更新日から10年以上が経過しています。
ヘッダーに「ログイン」ボタンを表示しています。
これが、ログインした状態でも表示されていると不自然なので、ログインした状態では「Myページ」に変更する方法のメモです。
ログイン判定フラグを追加
data/class/pages/LC_Page.phpに以下を追加します。
// 店舗基本情報取得
$this->arrSiteInfo = SC_Helper_DB_Ex::sfGetBasisData();
// トランザクショントークンの検証と生成
$this->doValidToken();
$this->setTokenTo();
// ローカルフックポイントを実行.
$this->doLocalHookpointBefore($objPlugin);
//ログイン判定
$objCustomer = new SC_Customer();
if ($objCustomer->isLoginSuccess()) {
$this->tpl_login = true;
}
ヘッダーにログイン判定処理を
ログイン判定できるフラグを使って、表示を切り替えます。
<!--{if $tpl_login}-->
<div>ここにログインしている時の記述をする</div>
<!--{else}-->
<div>ここにログインしていない時の記述をする</div>
<!--{/if}-->
これで、ログイン前は「ログイン」「新規会員登録」を表示しておき、ログイン後は「MYページ」「お気に入り」「購入履歴」などに切り替えたりなど、ショップに合わせたカスタマイズができるようになります。
ログイン後に「ようこそ、○○さん!」といったふうに名前を表示したい場合は、ちょっと追記が必要になります。
ログイン判定フラグ追加時に名前を取得する
さきほどの data/class/pages/LC_Page.php に以下を追加します。
//ログイン判定
$objCustomer = new SC_Customer();
if ($objCustomer->isLoginSuccess()) {
$this->tpl_login = true;
$this->tpl_name1 = $objCustomer->getValue('name01');
$this->tpl_name2 = $objCustomer->getValue('name02');
}
ヘッダーでの表示は、以下のように記述します。
<p>ようこそ、<!--{$tpl_name1|h}--> <!--{$tpl_name2|h}--> 様さん</p>
フォルダ