【freo】【freoTips】【テンプレート系TIPS】ログイン状況によって表示を変える方法
freoにログインできるユーザーは「管理者」「投稿者」「ゲスト」の三種類。(freo公式のユーザー管理と閲覧制限について参照)
それぞれのログイン状況によって表示を変える方法は以下の通り。
<!--{if $freo.user.authority == 'root'}-->
管理者用の表示
<!--{elseif $freo.user.authority == 'author'}-->
投稿者用の表示
<!--{elseif $freo.user.authority == 'guest'}-->
ゲスト用の表示
<!--{else}-->
ログインしていない人用の表示
<!--{/if}-->
管理者用の表示
<!--{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 でそれぞれのグループ名で試してみましたが、やはりグループには関係無いようで……。
お忙しいところお手数ですが、お力をお借りできれば幸いです。