ページ一括表示プラグイン

このプラグインについて

ページをツリー状に一括表示することができます。特定のページ以下のみをツリー表示することもできるので、作品ページの目次として利用することもできます。

ページ一括表示プラグイン

ダウンロード

以下のリンクからプラグインをダウンロードできます。

導入方法

ファイルのアップロード

config.page_all.phpdisplay.page_all.phplibs/freo/plugins/ ディレクトリ内にアスキーモードでアップロードします。

page_all/templates/plugins/ ディレクトリ内にアスキーモードでアップロードします。

テンプレートの編集

一例ですが、templates/internals/page/default.html の75行目あたりにある

<!--{if $freo.user.authority == 'root' or $freo.user.id == $page.user_id}-->
<ul class="link">
  <li><a href="{$freo.core.http_file}/admin/page_form?id={$page.id}"><img src="{$freo.core.http_url}images/icons/edit.png" alt="編集" title="編集" width="16" height="16" /></a></li>
</ul>
<!--{/if}-->

この直前に、以下のコードを追加します。

<h3>ページ一覧</h3>
{include file='plugins/page_all/default.html'}

これで各ページを表示する際、ツリー状にページ一覧が表示されます。表示位置やレイアウトは、必要に応じて調整してください。

機能解説

現在表示しているページのタイトルにはリンクしない

表示されるページのタイトルにはリンクが張られますが、plugins/page_all/default.html の5行目あたりにある

<a href="{$freo.core.http_file}/page/{$page_all.id}">{$page_all.title}</a>

この部分を以下のように変更すると、現在表示しているページのみリンクが張られなくなります。

<!--{if $page_all.id != $page.id}--><a href="{$freo.core.http_file}/page/{$page_all.id}"><!--{/if}-->{$page_all.title}<!--{if $page_all.id != $page.id}--></a><!--{/if}-->

特定のページ以下のタイトルのみを表示する

例えば

<h3>ページ一覧</h3>
{assign var="pid" value='gallery'}
{include file='plugins/page_all/default.html'}

このようにすると、ページID「gallery」以下のページのみが表示されます。同様に、

<h3>ページ一覧</h3>
{assign var="pid" value='novel'}
{include file='plugins/page_all/default.html'}

このようにすると、ページID「novel」以下のページのみが表示されます。さらに、

<!--{if $plugin_page_childs|smarty:nodefaults}-->
  <h3>ページ一覧</h3>
  {assign var="pid" value=$page.id}
  {include file='plugins/page_all/default.html'}
<!--{/if}-->

このようにすると、現在表示しているページ以下のページのみが表示されます。なお、この例では「現在表示しているページ以下にページが存在するか?」の判断に「子ページ表示プラグイン」を利用しています。(最初から導入済みになっているプラグイン。)

ページによって表示対象を変更する

イラストはイラスト用の表示、小説は小説用の表示…のようにしたい場合、テンプレートの切り替えか条件分岐を利用してください。

更新履歴

2011/01/28 Ver 1.0.1
  • 認証が必要な記事でも、オプション項目以外の情報は参照できるように調整。

バージョンアップは、以下のファイルを最新版付属のものに差し替えてください。

  • config.page_all.php
  • display.page_all.php
2010/11/20 Ver 1.0.0

正式版を公開しました。