バージョン選択

フォーラム

メニュー

オンライン状況

49 人のユーザが現在オンラインです。 (39 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 49
もっと...

サイト内検索

質問 > フロント機能 > ログイン状態に応じてヘッダーの表示を変える

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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コードだけでログイン状態かどうかを判別することができます。
<!--{if $smarty.session.customer}-->


----------------
EC-CUBEのプラグインを公開しています!
いつも reCAPTCHA

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票です。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,281名です
総投稿数は110,072件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1301
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.