質問 > フロント機能 > ログイン状態に応じてヘッダーの表示を変える |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kyotaro72 |
投稿日時: 2010/11/19 14:47
対応状況: −−−
|
新米 登録日: 2010/11/19 居住地: 投稿: 1 |
ログイン状態に応じてヘッダーの表示を変える ログイン時
・ログアウトボタン ・マイページボタン ログアウト時 ・ログインボタン ・新規登録ボタン という風にヘッダー部分に表示したいと思っています。 やりたいことと全く同じものが以下のページで紹介されておりましたので、それを参考にやってみたのですが、<header>がうまく読み込まれていないのか、画面が真っ白になってしまいます。 参考ページ http://c-brains.jp/blog/wsg/09/11/27-082356.php やった手順としては 1.html/frontparts/header.php 2.data/class_extends/page_extends/frontparts/LC_Page_FrontParts_Bloc_Header_Ex.php 3.data/class/pages/frontparts/LC_Page_FrontParts_Bloc_Header.php 上記3つのファイルを新規作成 4.site_main.tpl内の <!--{include file= $header_tpl}--> を <!--{include_php file="`$smarty.const.HTML_PATH`frontparts/header.php"}--> に変更 5.header.tplに <ul> <!--{if $tpl_login}--> <!--{if !$tpl_disable_logout}--> <li><a href="<!--{$smarty.server.PHP_SELF|escape}-->" onclick="fnFormModeSubmit('login_form', 'logout', , ); return false;"><img src="<!--{$TPL_DIR}-->images/btn-logout.gif" alt="ログアウト" width="62" height="20" class="btn" /></a></li> <li><a href="<!--{$smarty.const.URL_MYPAGE_TOP}-->"><img src="<!--{$TPL_DIR}-->images/btn-mypage.gif" alt="マイページ" width="70" height="18" class="btn" /></a></li> <!--{/if}--> <!--{else}--> <li><a href="<!--{$smarty.const.URL_MYPAGE_TOP}-->"><img src="<!--{$TPL_DIR}-->images/btn-login.gif" alt="ログイン" width="58" height="20" class="btn" /></a></li> <li><a href="<!--{$smarty.const.URL_DIR}-->entry/kiyaku.php"><img src="<!--{$TPL_DIR}-->images/btn-entry.gif" alt="新規登録(無料)" width="93" height="20" class="btn" /></a></li> <!--{/if}--> </ul> を記述 以上のように作業をいたしました。 コードは参考サイトのものを丸々コピペしました。 ソースコードを見てみると、<header>以下がまったく読み込まれておりません。 インクルードの部分が何かおかしいのでしょうか? 何か、それぞれのサイトの仕様にそった修正などが必要なのでしょうか? 何卒ご教授お願いします。 |
pineray |
投稿日時: 2010/11/19 14:52
対応状況: −−−
|
長老 登録日: 2006/9/9 居住地: 伊賀 投稿: 292 |
Re: ログイン状態に応じてヘッダーの表示を変える 何故エラーが発生したのか分かりませんが、そんなに込み入ったカスタマイズをしなくても、以下のSmartyコードだけでログイン状態かどうかを判別することができます。
|
ecbg |
投稿日時: 2010/11/19 15:03
対応状況: −−−
|
仙人 登録日: 2009/2/25 居住地: 東京 投稿: 387 |
Re: ログイン状態に応じてヘッダーの表示を変える 簡易的にやりたいのであれば、わざわざインクルードしなくても、
テンプレートないで以下のようにphpでログイン状態を判断して、 それに応じた修正をかけるというのでも良いかと思いますが… ↓↓↓通常のheader.tpl内の上部に以下のphpソースを追加 <!--{php}--> if(!isset($tpl_login)){ $objCustomer = new SC_Customer(); if($objCustomer->isLoginSuccess()) { $tpl_in=true; $this->assign(tpl_login,$tpl_in); } } <!--{/php}--> ↓↓↓切替たい部分にSmartyで以下のように条件分岐 <!--{if $tpl_login == true}--> ・ログアウトボタン ・マイページボタン <!--{else}--> ・ログインボタン ・新規登録ボタン <!--{/if}--> できる限りSmartyテンプレート内でのphpソースは 処理を遅くする原因になるので、 書きたくないという方もいますが、 この程度であれば表面上現れる違いはないと思います。 (インクルードもphpから呼び直す訳ですし、どちらも大差ないかと) 追記。 おお… そんなSmarty変数が元々用意されているんですねぇー pineray様の方法に1票です。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |