【freo】【freoTips】【プラグイン系TIPS】ページ一括表示プラグインテンプレートの読み方
- 2012/07/25 22:33
- ページ一括表示プラグイン
- 45
ページ一括表示プラグインは、あるページ以下のページをプラグインテンプレートを利用して読み込むプラグインです。
詳細な説明は上記URLをご参照ください。
ここでは、ページ一括表示プラグインテンプレートの読み方っぽいものを説明します。
ページ一括表示プラグインテンプレートの読み方
[freo/templates/plugins/page_all/default.html]を利用して説明します。
[freo/templates/plugins/page_all/default.html]を開いて頂くと、
<!--{if $page_all.pid == $pid}-->
<!--{php}if (!$flag) :{/php}--><ul><!--{php}endif;{/php}-->
<li>
<a href="{$freo.core.http_file}/page/{$page_all.id}">{$page_all.title}</a>
<!--{assign var="pid" value=$page_all.id}-->
{include file='plugins/page_all/default.html'}
<!--{assign var="pid" value=$page_all.pid}-->
</li>
<!--{php}$flag = 1;{/php}-->
<!--{/if}-->
<!--{/foreach}-->
<!--{php}if ($flag) :{/php}--></ul><!--{php}endif;{/php}-->
これを簡単にすると多分こんな感じです。違ってたらすみません。
<!--{もし$page_all.pid(ページ一括表示プラグインのテーブル内の親ページID)が$pid(今表示しているページの親ページID)と同じだったらここから}-->
<!--{PHPここから}if (!$flag) :{PHPここまで}--><ul><!--{こっからPHP}endif;{PHPここまで}-->
<li>
<a href="ページのURL">{ページのタイトル}</a>
<!--{今表示してるページ以下のページを読み込むここから}-->
{読みこむテンプレートは'plugins/page_all/default.html'を使う}
<!--{今表示してるページ以下のページを読み込むここまで}-->
</li>
<!--{PHPここから}$flag = 1;{PHPここまで}-->
<!--{もし$page_all.pid(ページ一括表示プラグインのテーブル内の親ページID)が$pid(今表示しているページの親ページID)と同じだったらここまで}-->
<!--{$page_allsの配列の繰り返しここまで}-->
<!--{PHPここから}if (!$flag) :{PHPここまで}--></ul><!--{こっからPHP}endif;{PHPここまで}-->
ぶっちゃけ意味がわかりません。
重要なのは
{include file='plugins/page_all/default.html'}
<!--{assign var="pid" value=$page_all.pid}-->
↑の部分で、どのページ以下のページを読み込むのか、どのプラグインテンプレートを使うのかを指定してるってことと、
このプラグインテンプレートの中身が、読み込みたいページのなにをどのように読み込むか決めてますよってことです。
どのページ以下のページを読み込むか
公式の解説の「特定のページ以下のタイトルのみを表示する」を読むと、
<!--{assign var="pid" value=$page_all.id}-->
の$page_all.id部分を変更すると、任意のページID以下のページを読み込むことができることがわかります。
<!--{assign var="pid" value=’novel’}-->にするとページIDが’novel’のページ以下を読み込む
<!--{assign var="pid" value=’gallery’}-->にするとページIDが’gallery’のページ以下を読み込む
といった感じです。
任意のページIDを指定したい場合は、’任意のページID’という風に、「''(シングルクォーテーション)」でくるむのを忘れないようにしてください。
読み込みたいページのなにをどのように読み込むか
default.htmlを利用したページのソースをブラウザから見てみると、
<li><a href="ページのURL">{ページのタイトル}</a></li>
<li><a href="ページのURL">{ページのタイトル}</a></li>
:
省略
:
<li><a href="ページのURL">{ページのタイトル}</a></li>
</ul>
こんな感じになります。
<!--{assign var="pid" value=$page_all.id}-->で決めたページ以下のページを
リストに入れて、タイトルにリンクを貼る形式で、ひたすらforeach、つまり繰り返しています。
リストではなく、<div>~</div>にするとか、<p>~</p>にすれば、表示方法を変えられます。
タイトルではなくページイメージなどの画像を表示したかったり、オプションを表示したかったり、本文を引用したかったり、呼び出すもの自体を変えたいなら、
32877:ページ一括表示プラグインでオプションの内容を表示する方法
32877:ページ一括表示プラグインで本文を引用する方法
32877:ページ一括表示プラグインで添付ファイルを表示する方法
ここらへんを参考にすると良いかと思われます。