【freo】【freoTips】【freo変数一覧】新着ページ表示プラグインで新着ページの情報を取得する方法
- 2013/04/27 22:57
- 新着ページ表示プラグイン
- 69
freo公式サイトで、新着ページ表示プラグインが配布されています。
これは、新規に登録されたページを表示するプラグインです。
新着ページを表示する際のテンプレートは、新着ページ表示プラグインの解説に記載されています。
[freo/templates/plugins/utility]を開いていただくと、以下のように書いてあります。
<div class="content">
<dl>
<!--{foreach from=$plugin_page_recentries|smarty:nodefaults item='plugin_page_recently'}-->
<dt><a href="{$freo.core.http_file}/page/{$plugin_page_recently.id}">{$plugin_page_recently.title}</a></dt>
<dd>{$plugin_page_recently.datetime|date_format:'%Y/%m/%d %H:%M'}</dd>
<!--{/foreach}-->
</dl>
</div>
と書いてあります。
これを簡単にすると多分こんな感じです。
<div class="content">
<dl>
<!--{新着ページをplugin_page_recentlyとして繰り返して表示するここから}-->
<dt><a href="{freo設置URL}/page/{新着ページのページID}">{新着ページのタイトル}</a></dt>
<dd>{新着ページの投稿時間を'%Y/%m/%d %H:%M'と整形して表示する}</dd>
<!--{新着ページをplugin_page_recentlyとして繰り返して表示するここまで}-->
</dl>
</div>
以上のように、新着ページのタイトルを新着ページのIDへリンクを貼って、投稿時間を表示しています。
新着ページ表示プラグインで表示できるのは、ページIDとタイトル、投稿時間だけではありません。
新着ページの情報を表示する変数は下記の通りです。
新着ページ表示プラグインで取得できる情報
$plugin_page_recentriesテーブルの情報をforeachする。
新着ページ表示プラグインで表示するページの情報は、「$plugin_page_recentries」というテーブルに格納されています。
「$plugin_page_recently」テーブルの情報を表示したいときは、「foreach」しなければなりません。
とにかく、新着ページ表示プラグインでページの情報を表示したいなら、下記の通りにしなければならないってことです。
<!--{foreach from=$page_recentries|smarty:nodefaults item='plugin_page_recently'}--> 新着ページ表示プラグインでページの情報を表示したい部分 <!--{/foreach}-->
上記のように、新着ページ表示プラグインでページの情報を表示したい箇所は、<!--{foreach from=$plugin_page_recentries|smarty:nodefaults ~中略}-->と<!--{/foreach}-->で挟みます。
foreachの中に入れないで変数だけ書いても、新着ページの情報は表示されませんので注意して下さい。
新着ページ表示プラグインでページの基本的な情報を表示するための変数
変数 | 値 |
---|---|
{$plugin_page_recently.id} | 新着ページのページID |
{$plugin_page_recently.pid} | 新着ページの親ページID |
{$plugin_page_recently.user_id} | 新着ページの投稿ユーザーID |
{$plugin_page_recently.created} | 新着ページの登録日時 |
{$plugin_page_recently.modified} | 新着ページの更新日時 |
{$plugin_page_recently.approved} | 新着ページの承認がされているかどうか |
{$plugin_page_recently.restriction} | 新着ページの閲覧制限状態 |
{$plugin_page_recently.password} | 新着ページのパスワード |
{$plugin_page_recently.status} | 新着ページの公開状態 |
{$plugin_page_recently.display} | 新着ページの表示状態 |
{$plugin_page_recently.comment} | 新着ページがコメントを受け付けているかどうか |
{$plugin_page_recently.trackback} | 新着ページがトラックバックを受け付けているかどうか |
{$plugin_page_recently.sort} | 新着ページの並び順 |
{$plugin_page_recently.title} | 新着ページのタイトル |
{$plugin_page_recently.tag} | 新着ページのタグ |
{$plugin_page_recently.datetime} | 新着ページの日時 |
{$plugin_page_recently.close} | 新着ページの公開終了日時 |
{$plugin_page_recently.file} | 新着ページのファイル名 |
{$plugin_page_recently.image} | 新着ページのイメージ名 |
{$plugin_page_recently.memo} | 新着ページのファイルの説明 |
{$plugin_page_recently.text} | 新着ページの本文 |
新着ページの添付ファイルの情報を表示する
添付ファイルについての情報は、「$plugin_page_recently_file」テーブルに格納されています。
変数 | 値 |
---|---|
{$plugin_page_recently_files[$plugin_page_recently.id].height} | 新着ページの添付ファイルの高さ |
{$plugin_page_recently_files[$plugin_page_recently.id].width} | 新着ページの添付ファイルの幅 |
{$plugin_page_recently_files[$plugin_page_recently.id].size} | 新着ページの添付ファイルのサイズ |
「$plugin_page_recently_file」テーブルに格納されている情報以外で新着ページの添付ファイルに関する情報は以下のとおりです。
変数等 | 値 |
---|---|
{$plugin_page_recently.file} | 新着ページの添付ファイルのファイル名 |
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_files/{$plugin_page_recently.id}/{$plugin_page_recently.file} | 新着ページの添付ファイルのURL |
新着ページのサムネイルの情報を表示する
サムネイルについての情報は、「$plugin_page_recently_thumbnails」テーブルに格納されています。
変数 | 値 |
---|---|
{$plugin_page_recently_thumbnails[$plugin_page_recently.id].height} | 新着ページのサムネイルの高さ |
{$plugin_page_recently_thumbnails[$plugin_page_recently.id].width} | 新着ページのサムネイルの幅 |
{$plugin_page_recently_thumbnails[$plugin_page_recently.id].size} | 新着ページのサムネイルのサイズ |
「$plugin_page_recently_thumbnails」テーブルに格納されている情報以外で新着ページのサムネイルに関する情報は以下のとおりです。
変数等 | 値 |
---|---|
{$plugin_page_recently.file} | 新着ページのサムネイルのファイル名 |
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_thumbnails/{$plugin_page_recently.id}/{$plugin_page_recently.file} | 新着ページのサムネイルのURL |
新着ページのイメージの情報を表示する
イメージについての情報は、「$plugin_page_recently_images」テーブルに格納されています。
変数 | 値 |
---|---|
{$plugin_page_recently_images[$plugin_page_recently.id].height} | 新着ページのイメージの高さ |
{$plugin_page_recently_images[$plugin_page_recently.id].width} | 新着ページのイメージの幅 |
{$plugin_page_recently_images[$plugin_page_recently.id].size} | 新着ページのイメージのサイズ |
「$plugin_page_recently_images」テーブルに格納されている情報以外で新着ページのイメージに関する情報は以下のとおりです。
変数等 | 値 |
---|---|
{$plugin_page_recently.image} | 新着ページのイメージのファイル名 |
{$freo.core.http_url}{$smarty.const.FREO_FILE_DIR}page_images/{$plugin_page_recently.id}/{$plugin_page_recently.image} | 新着ページのイメージのURL |
新着ページのタグを表示する
新着ページのタグは「$plugin_page_recently_tags[$plugin_page_recently.id]」という配列に格納されています。
新着ページのタグの情報を表示したいときは、「foreach」しなければなりません。
新着ページの情報は「$plugin_page_recentries」のforeachの中に表示しなければならないので、新着ページのタグの情報は、$plugin_page_recentriesの中でさらにforeachして表示します。
<!--{foreach from=$page_recentries|smarty:nodefaults item='plugin_page_recently'}--> <!--{foreach from=$plugin_page_recently_tags[$plugin_page_recently.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}-->