【freo】【freoTips】【テンプレート系TIPS】ある階層のページ群の最初のページと最後のページになにかを表示させる方法
- 2012/06/10 18:17
- 拍手
- ページ移動プラグイン
- 78
ページ移動プラグインは、ページの前後ページに移動するプラグインです。
(freo公式ページの前後移動について参照)
これを応用すると、ある階層のページ群の最初のページと最後のページになにかを表示させることができます。
テンプレートの内、ページ移動プラグインを使用しているのは
[freo/templates/internals/page/default.html]の65行目~74行目あたり
ページ移動部分のソースは以下の通り
<!--{if $plugin_page_parent and ($plugin_page_link_previous or $plugin_page_link_next)}-->
<div id="page_link">
<h3>ページ移動</h3>
<ul class="page_link">
<!--{if $plugin_page_link_previous}--><li class="previous"><a href="{$freo.core.http_file}/page/{if $plugin_page_link_previous.code}{$plugin_page_link_previous.code}{else}{$plugin_page_link_previous.id}{/if}">{$plugin_page_link_previous.title}</a></li><!--{/if}-->
<li class="home"><a href="{$freo.core.http_file}/page/{$plugin_page_parent.id}">{$plugin_page_parent.title}</a></li>
<!--{if $plugin_page_link_next}--><li class="next"><a href="{$freo.core.http_file}/page/{if $plugin_page_link_next.code}{$plugin_page_link_next.code}{else}{$plugin_page_link_next.id}{/if}">{$plugin_page_link_next.title}</a></li><!--{/if}-->
</ul>
</div>
<!--{/if}-->
<div id="page_link">
<h3>ページ移動</h3>
<ul class="page_link">
<!--{if $plugin_page_link_previous}--><li class="previous"><a href="{$freo.core.http_file}/page/{if $plugin_page_link_previous.code}{$plugin_page_link_previous.code}{else}{$plugin_page_link_previous.id}{/if}">{$plugin_page_link_previous.title}</a></li><!--{/if}-->
<li class="home"><a href="{$freo.core.http_file}/page/{$plugin_page_parent.id}">{$plugin_page_parent.title}</a></li>
<!--{if $plugin_page_link_next}--><li class="next"><a href="{$freo.core.http_file}/page/{if $plugin_page_link_next.code}{$plugin_page_link_next.code}{else}{$plugin_page_link_next.id}{/if}">{$plugin_page_link_next.title}</a></li><!--{/if}-->
</ul>
</div>
<!--{/if}-->
解説)
<!--{もし親ページがあって そして 前ページがある または 次ページがあればここから}-->
<div id="page_link">
<h3>ページ移動</h3>
<ul class="page_link">
<!--{もし前ページがあればここから}--><li class="previous"><前ページへのリンクここから>{前ページのタイトル}</前ページへのリンクここまで></li><!--{/もし前ページがあればここまで}-->
<li class="home"><親ページへのリンクここから>{親ページタイトル}<親ページへのリンクここまで></li>
<!--{もし次ページがあればここから}--><li class="next"><次ページへのリンクここから>{次ページのタイトル}</次ページへのリンクここまで></li><!--{/もし次ページがあればここまで}-->
</ul>
</div>
<!--{もし親ページがあって そして 前ページがある または 次ページがあればここまで}-->
<div id="page_link">
<h3>ページ移動</h3>
<ul class="page_link">
<!--{もし前ページがあればここから}--><li class="previous"><前ページへのリンクここから>{前ページのタイトル}</前ページへのリンクここまで></li><!--{/もし前ページがあればここまで}-->
<li class="home"><親ページへのリンクここから>{親ページタイトル}<親ページへのリンクここまで></li>
<!--{もし次ページがあればここから}--><li class="next"><次ページへのリンクここから>{次ページのタイトル}</次ページへのリンクここまで></li><!--{/もし次ページがあればここまで}-->
</ul>
</div>
<!--{もし親ページがあって そして 前ページがある または 次ページがあればここまで}-->
応用:最初のページと最後のページになにかを表示させる方法
<1>{else}を使う
<!--{if $plugin_page_link_previous}--> 前ページがあった時の表示 <!--{else}--> 前ページがなかった時=最初のページの表示 <!--{/if}--> <!--{if $plugin_page_link_next}--> 次ページがあった時の表示 <!--{else}--> 次ページがなかった時=最後のページの表示 <!--{/if}-->
解説
<!--{もし前ページがあったらここから}-->前ページがあった時の表示
<!--{そうじゃなければ}-->
前ページがなかった時=最初のページの表示
<!--{もし前ページがあったらここまで}-->
<!--{もし次ページがあったらここから}-->
次ページがあった時の表示
<!--{そうじゃなければ}-->
次ページがなかった時=最後のページの表示
<!--{もし次ページがあったらここまで}-->
<2>ページIDで判断する
<!--{if $plugin_page_link_previous.id == ''}--> 最初のページの表示 <!--{/if}--> <!--{if $plugin_page_link_next.id == ''}--> 最後のページの表示 <!--{/if}-->
解説
<!--{もし前ページのページIDが'(空欄)'だったらここから}-->最初のページの表示
<!--{もし前ページのページIDが'(空欄)'だったらここまで}-->
<!--{もし次ページのページIDが'(空欄)'だったらここから}-->
最後のページの表示
<!--{もし次ページのページIDが'(空欄)'だったらここまで}-->
応用例
<1>最後のページに拍手を設置する(拍手はfreo公式の拍手送信プラグイン使用)
<!--{if $plugin_page_link_next.id == ''}--> <h3>拍手送信</h3> <div class="content"> <form action="{$freo.core.http_file}/clap" method="post"> <fieldset> <legend>拍手送信フォーム</legend> <input type="hidden" name="freo[token]" value="{$token}" /> <p><input type="submit" value="拍手を送る" /></p> </fieldset> </form> </div> <!--{/if}-->