メニュー

Home >freoTIPS>テンプレート系TIPS> ログイン状況によって表示を変える方法

【freoTIPS】【テンプレート系TIPS】ログイン状況によって表示を変える方法

2012/06/02 18:26|タグ:ユーザー管理グッジョブ表示 37

freoにログインできるユーザーは「管理者」「投稿者」「ゲスト」の三種類。(freo公式のユーザー管理と閲覧制限について参照)
それぞれのログイン状況によって表示を変える方法は以下の通り。

<!--{if $freo.user.authority == 'root'}-->
    管理者用の表示
<!--{elseif $freo.user.authority == 'author'}-->
    投稿者用の表示
<!--{elseif $freo.user.authority == 'guest'}-->
    ゲスト用の表示
<!--{else}-->
    ログインしていない人用の表示
<!--{/if}-->

ログイン状況によって表示を切り替えたユーザーメニューテンプレートサンプル

上記のソースを使用したユーザーメニュー。
[freo/templates]フォルダの[header.html]
<div id="menu">~</div>部分を以下の通り編集する。

 <div id="menu">
<h2>ユーザーメニュー</h2>
<ul>
<li>| <a href="{$freo.core.http_file}">トップページ</a> | </li>
<!--{if isset($smarty.session.freo.agent.type|smarty:nodefaults)}-->
<li><a href="{$smarty.server.PHP_SELF}?freo%5Bagent%5D%5Btype%5D=iphone">iPhone版</a></li>
<!--{/if}-->
<!--{if $freo.user.authority == 'root'}-->
<li><a href="{$freo.core.http_file}/admin/">管理ページ</a> | </li>
<li><a href="{$freo.core.http_file}/admin/page_form">ページ登録</a> | </li>
<li><a href="{$freo.core.http_file}/admin/entry_form">エントリー登録</a> | </li>
<li><a href="{$freo.core.http_file}/admin/information_form">インフォメーション編集</a> | </li>
<li><a href="{$freo.core.http_file}/login?freo%5Bsession%5D=logout">ログアウト</a> | </li>
<!--{elseif $freo.user.authority == 'author'}-->
<li><a href="{$freo.core.http_file}/admin/">管理ページ</a> | </li>
<li><a href="{$freo.core.http_file}/admin/page_form">ページ登録</a> | </li>
<li><a href="{$freo.core.http_file}/admin/entry_form">エントリー登録</a> | </li>
<li><a href="{$freo.core.http_file}/profile/{$freo.user.id}">プロフィール</a> | </li>
<li><a href="{$freo.core.http_file}/admin/profile_form">プロフィール編集</a> | </li>
<li><a href="{$freo.core.https_file}/admin/password_form">パスワード変更</a> | </li>
<li><a href="{$freo.core.http_file}/login?freo%5Bsession%5D=logout">ログアウト</a> | </li>
<!--{elseif $freo.user.authority == 'guest'}-->
<li><a href="{$freo.core.http_file}/user">ユーザー用ページ</a> | </li>
<li><a href="{$freo.core.http_file}/profile/{$freo.user.id}">プロフィール</a> | </li>
<li><a href="{$freo.core.http_file}/user/profile_form">プロフィール編集</a> | </li>
<li><a href="{$freo.core.https_file}/user/password_form">パスワード変更</a> | </li>
<li><a href="{$freo.core.http_file}/login?freo%5Bsession%5D=logout">ログアウト</a> | </li>
<!--{else}-->
<li><a href="{$freo.core.http_file}/regist">ユーザー登録</a> | </li>
<li><a href="{$freo.core.http_file}/reissue">パスワード再発行</a> | </li>
<li><a href="{$freo.core.http_file}/login">ログイン</a> |</li>
<!--{/if}-->
</ul>
</div>

ページ移動

関連エントリー

コメント

さとう

ミツさんはじめまして、さとうといいます。いつもカスタマイズを参考にさせて頂いております。

こちらの記事を拝見していて、出来ればグループで表示のものを変えられないものだろうかと、ご相談に上がった次第です。

自分でカスタマイズできないかとテンプレートをみていたのですが、グループに使われている変数が特定できなく、
$freo.user.authority でそれぞれのグループ名で試してみましたが、やはりグループには関係無いようで……。
お忙しいところお手数ですが、お力をお借りできれば幸いです。

  • 2015/06/19 14:32:37

ミツ@32877

こんにちは。

ログインしているユーザーに関連付けられているグループIDで表示を変える方法
http://32877.xii.jp/index.php/view/262

記事にしてみました。
検証しきれてないので、なにか変だったりしたら教えてください。

  • 2015/06/22 18:33:48

さとう

ミツさんお忙しいところありがとうございます!

まとまった時間が取れないので、時間があるときに試してみます。お世話をおかけしました。

  • 2015/06/26 20:49:02

さとう

ミツさん、無事に思うとおりに出来ました。
ただhttp://32877.xii.jp/index.php/view/262 の方の
<!--{elseif 任意のグループID2|in_array:$freo.user.groups}-->
の、任意のグループID2|in_array: の『|』がtemplates_cのほうで全角になってしまうらしく、エラーが出るので、if形式で並べて、希望のとおりになりました。
ただ規制中のグループとそうでないブループを分けたかっただけなので、特に問題もないのでこれで行きたいと思っています。
お忙しい中ありがとうございました!

  • 2015/06/28 23:06:49

コメント登録

登録フォーム
名前
メールアドレス
URL
コメント
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

ユーティリティ

Twitter

サイト内検索

ページ上部へ