【freo】【freoTips】【freo変数一覧】ページ一括表示プラグインで取得できる情報
- 2013/04/27 22:00
- ページ一括表示プラグイン
- 52
freo公式サイトで、ページ一括表示プラグインが配布されています。
これは、あるページの下層にあるページの一覧を表示するプラグインです。
ページ一括表示プラグインのテンプレートは、ページ一括表示プラグインの解説ページからダウンロードできます。
[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ここまで}-->
以上のように、あるページ以下のページにリンクを貼った上でリストで表示し、入れ子のリストで表示しています。
ページ一括表示プラグインで表示できるのは、ページIDとタイトルだけではありません。
ページ一括表示プラグインで表示できる情報は下記の通りです。
ページ一括表示プラグインで取得できる情報
$page_allsテーブルの情報をforeachする。
ページ一括表示プラグインで表示するページの情報は、「$page_alls」というテーブルに格納されています。
「$page_alls」テーブルの情報を表示したいときは、「foreach」しなければなりません。
とにかく、ページ一括表示プラグインでページの情報を表示したいなら、下記の通りにしなければならないってことです。
<!--{foreach from=$page_alls|smarty:nodefaults item='page_all'}--> ページ一括表示プラグインでページの情報を表示したい部分 <!--{/foreach}-->
上記のように、ページ一括表示プラグインでページの情報を表示したい箇所は、<!--{foreach from=$page_alls|smarty:nodefaults ~中略}-->と<!--{/foreach}-->で挟みます。
foreachの中に入れないで変数だけ書いても、一括表示するページの情報は表示されませんので注意して下さい。
ページ一括表示プラグインでページの基本的な情報を表示するための変数
変数 | 値 |
---|---|
{$page_all.id} | 一括表示するページのページID |
{$page_all.pid} | 一括表示するページの親ページID |
{$page_all.user_id} | 一括表示するページの投稿ユーザーID |
{$page_all.created} | 一括表示するページの登録日時 |
{$page_all.modified} | 一括表示するページの更新日時 |
{$page_all.approved} | 一括表示するページの承認がされているかどうか |
{$page_all.restriction} | 一括表示するページの閲覧制限状態 |
{$page_all.password} | 一括表示するページのパスワード |
{$page_all.status} | 一括表示するページの公開状態 |
{$page_all.display} | 一括表示するページの表示状態 |
{$page_all.comment} | 一括表示するページがコメントを受け付けているかどうか |
{$page_all.trackback} | 一括表示するページがトラックバックを受け付けているかどうか |
{$page_all.sort} | 一括表示するページの並び順 |
{$page_all.title} | 一括表示するページのタイトル |
{$page_all.tag} | 一括表示するページのタグ |
{$page_all.datetime} | 一括表示するページの日時 |
{$page_all.close} | 一括表示するページの公開終了日時 |
{$page_all.file} | 一括表示するページのファイル名 |
{$page_all.image} | 一括表示するページのイメージ名 |
{$page_all.memo} | 一括表示するページのファイルの説明 |
{$page_all.text} | 一括表示するページの本文 |
一括表示するページの添付ファイルの情報を表示する
添付ファイルについての情報は、「$page_all_file」テーブルに格納されています。
変数 | 値 |
---|---|
{$page_all_files[$page_all.id].height} | 一括表示するページの添付ファイルの高さ |
{$page_all_files[$page_all.id].width} | 一括表示するページの添付ファイルの幅 |
{$page_all_files[$page_all.id].size} | 一括表示するページの添付ファイルのサイズ |
「$page_all_file」テーブルに格納されている情報以外で一括表示するページの添付ファイルに関する情報は以下のとおりです。
変数等 | 値 |
---|---|
{$page_all.file} | 一括表示するページの添付ファイルのファイル名 |
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_files/{$page_all.id}/{$page_all.file} | 一括表示するページの添付ファイルのURL |
一括表示するページのサムネイルの情報を表示する
サムネイルについての情報は、「$page_all_thumbnails」テーブルに格納されています。
変数 | 値 |
---|---|
{$page_all_thumbnails[$page_all.id].height} | 一括表示するページのサムネイルの高さ |
{$page_all_thumbnails[$page_all.id].width} | 一括表示するページのサムネイルの幅 |
{$page_all_thumbnails[$page_all.id].size} | 一括表示するページのサムネイルのサイズ |
「$page_all_thumbnails」テーブルに格納されている情報以外で一括表示するページのサムネイルに関する情報は以下のとおりです。
変数等 | 値 |
---|---|
{$page_all.file} | 一括表示するページのサムネイルのファイル名 |
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_thumbnails/{$page_all.id}/{$page_all.file} | 一括表示するページのサムネイルのURL |
一括表示するページのイメージの情報を表示する
イメージについての情報は、「$page_all_images」テーブルに格納されています。
変数 | 値 |
---|---|
{$page_all_images[$page_all.id].height} | 一括表示するページのイメージの高さ |
{$page_all_images[$page_all.id].width} | 一括表示するページのイメージの幅 |
{$page_all_images[$page_all.id].size} | 一括表示するページのイメージのサイズ |
「$page_all_images」テーブルに格納されている情報以外で一括表示するページのイメージに関する情報は以下のとおりです。
変数等 | 値 |
---|---|
{$page_all.image} | 一括表示するページのイメージのファイル名 |
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_images/{$page_all.id}/{$page_all.image} | 一括表示するページのイメージのURL |
一括表示するページのタグを表示する
一括表示するページのタグは「$page_all_tags[$page_all.id]」という配列に格納されています。
一括表示するページのタグの情報を表示したいときは、「foreach」しなければなりません。
一括表示するページの情報は「$page_alls」のforeachの中に表示しなければならないので、一括表示するページのタグの情報は、$page_allsの中でさらにforeachして表示します。
<!--{foreach from=$page_alls|smarty:nodefaults item='page_all'}--> <!--{foreach from=$page_all_tags[$page_all.id]|smarty:nodefaults item='page_tag' name='loop'}--><a href="{$freo.core.http_file}/page?tag={$page_tag|smarty:nodefaults|escape:'url'}">{$page_tag}</a><!--{if !$smarty.foreach.loop.last}-->, <!--{/if}--><!--{/foreach}--> <!--{/foreach}-->