plugins:titlelist

NP_TitleList.php

自由にカスタマイズできる高度なページスイッチ付きのアーカイブリストを出力します。

もともとはアーカイブリストスキンに記事一覧を表示するためのプラグインで、ユーザーが表示するカテゴリーや年月、表示数、降順・昇順を選択して閲覧することができるようになっています。

General Plugin info
作者: Taka
最新のバージョン: 0.35 (2006,09/02)
入手先: http://vivian.reverb.jp/for_nucleus_user.html
ソース: titlelist_code
動作サンプル:
フォーラム参照先:
セキュリティチェック: fix

このページはNP_TitleListプラグインの使用方法 - web関連tips備忘録を参照・引用しています。

インストール方法

  1. Zipファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードする
  2. 管理画面からプラグインをインストールする

このプラグインの使い方

下記3種類のスキンに記述することで使用可。

  • メインの目次
  • アーカイブ
  • アーカイブ一覧

スキンへの記述

<%TitleList%>
または
<%TitleList(mode,template,amount,navitype,form,bmode,sort,monthlimit)%>

mode

アーカイブの表示のモードです。'month'で月単位、'day'で日単位になります。デフォルトは月単位です。このパラメーターは、他のパラメーターを指定する必要があるときでも完全に省略することができます。(ただし省略した場合は「month」や「day」という名前のテンプレートは使えなくなりますのでご注意ください。あんまりそういう名前のテンプレートは作らないとは思いますが。)

  • "month" : 月単位(デフォルト)
  • "day" : 日単位

template

使用するテンプレート名。TitleList実装のテンプレートではなく、Nucleusのテンプレートを使用したい場合は、そのテンプレート名を記述してください。ただし、数字とスラッシュのみを使った名前のテンプレートは使用できません。このパラメーターは、他のパラメーターを指定する必要があるときでも完全に省略することが出来ます。省略された場合はTitleList付属のテンプレートが使われます。

amount

1ページあたりの初期表示数を設定します。このパラメーターが無い場合はデフォルト値として50がセットされます(amount以降のパラメーターを指定する必要がある場合は省略できません)。また、表示数セレクトフォームの選択できる数字もここで変更することができます。この場合、表示数の後ろに「@」をつけて、その後にユーザーが選択できる数をスラッシュ区切りで記入していきます。デフォルトは10/20/50/100です。

ページスイッチ(ページナビゲーション)の表示形式。デフォルトは1(navitype以降のパラメーターを指定する必要がある場合は省略できません)。

  • "0" : ページスイッチを表示しない
  • "1" : Prev/Nextのみ表示。PrevやNextという文字列はプラグインオプションで変更できます。
  • "2" : phpBB風。こんな感じ→Per page: | 1 . | 2. | 3. |・・・・次

form

カテゴリー、アーカイブ、並び順などの選択フォームを表示するかどうか。これ以降のパラメーターを指定する必要がある場合は省略できません。0にした場合、結果見出しも表示されません。

  • "0" : 表示しない
  • "1" : 表示する(デフォルト)

bmode

複数blogでのアイテムを表示するパラメータ。現在のblogのアイテムを表示すればよい場合は、もしbmode以降のパラメーターも指定する必要がある時は、ここは空にして下さい(省略とは違います)。

全てのblogのアイテムを表示する時は「all」、いくつかのblogのアイテムを表示する場合はそれらのblogIDを複数ある場合はスラッシュ区切りで、いくつかのblogのアイテムを表示したくない場合は「<>」のあとにそれらのblogIDを複数ある場合はスラッシュで区切って記入します。

  • "all" : 全てのblogのアイテムを表示。
  • "<>blogID" : 表示させたくないblogID。複数ある場合はスラッシュ区切りで書く。
  • blogIDをスラッシュ区切りで書く: 希望するlogのアイテムを表示したいとき。
  • 記述無し : 現在のblogのアイテムだけを表示する(デフォルト)

現在のblogのアイテムを表示すればよいのだが、このあとの並び順のパラメーターを指定したい、という時は、以下の様に記述します。

<%TitleList(15,2,1,,ASC)%>

(15アイテム表示、ナビタイプはphpBB風、フォームを表示する、並び順は昇順)

上の例で、blogID2と3以外のblogのアイテムを表示するように変更すると、以下の様になります。

<%TitleList(15,2,1,<>2/3,ASC)%>

もしカテゴリーのセレクトフォームの選択肢をカテゴリーではなくブログにしたい場合は、このパラメーターの先頭に「bselect:」と記述して下さい。

<%TitleList(15,2,1,bselect:all,ASC)%>
<%TitleList(15,2,1,bselect:2/3,ASC)%>
<%TitleList(15,2,1,bselect:<>2/3,ASC)%>

sort

アイテムの表示順(次のmonthlimitパラメーターを指定する必要がある場合は省略できません)。

  • ASC : 日時昇順
  • DESC : 日時降順(デフォルト)

monthlimit

表示対象とする月数。1年分 = 12ヶ月分だけ結果表示対象にしたい場合はここに12と記入して下さい。

1年分を表示対象にしたい場合は12と書く。

プラグインオプションの設定

フォーム部分のラベルなどのカスタマイズ

Label for category drop-down list
カテゴリー選択セレクトフォームのラベル
Option name of "All categories" - This is used also for the heading of results.
カテゴリー選択セレクトフォームで、「全てのカテゴリー」にあたる選択肢を好きな名前で表示させることができます。希望の名前をここに記入してください。
Label for archive list
アーカイブ選択セレクトフォームのラベル
Option name of "All Archives"
アーカイブ選択セレクトフォームで、「全ての期間」にあたる選択肢を好きな名前で表示させることができます。希望の名前をここに記入してください。
Date format of archive list - This is used also for the heading of results.
アーカイブ選択セレクトフォームでの、アーカイブ年月(日)の表示形式。これは結果見出しにも利用されます。
Label for sort order
表示順セレクトフォームのラベル
Option name of "Descending order"
表示順セレクトフォームで、「降順」にあたる選択肢の表示名
Option name of "Ascending order"
表示順セレクトフォームで、「昇順」にあたる選択肢の表示名
Label for number of display
1ページあたりの表示記事数セレクトフォームのラベル
Send button text
送信ボタンのテキスト(サブカテゴリーが有効な場合、サブカテゴリー選択フォームのボタンテキストとしても利用されます。)
Label for sub category drop-down list
このサイトで配布している改造版NP_MultipleCategoriesを利用している場合、サブカテゴリーセレクトフォームのラベル
Option name of "All sub categories"
カテゴリー選択セレクトフォームで、「全てのサブカテゴリー」にあたる選択肢の表示名

結果見出しのカスタマイズ

Heading of results. You can use <%category%>, <%separator(separate character)%>, <%archive%>.
フォームの下(ただしサブカテゴリーセレクトフォームの上)に見出しを表示できます。そのテンプレートを記入してください。必要ない場合は何も記入しなくて結構です。(なおパラメーターでフォームを非表示にしている場合はこれは出力されません。)

<h2>Result: <%category%><%separator(/)%><%archive%></h2>

と記述した場合、ユーザーがカテゴリーとアーカイブを両方選択した時は、

<h2>Result: CategoryName/2004-12</h2>

のように出力されます。 カテゴリーのみ選択した時は

<h2>Result: CategoryName</h2>

アーカイブのみ選択した時は

<h2>Result:2004-12</h2>

となります。

ページスイッチの「Prev」「Next」文字のカスタマイズ

"Prev" link text
前のページへのリンク部分の文字列
"Next" link text
次のページへのリンク部分の文字列

結果リスト部分のテンプレート設定

※スキンの方でパラメーター指定することにより、このテンプレートではなくNucleusのテンプレートを使うことも出来ます。 書き方はだいたい見ればわかると思いますが、1箇所だけ説明します。

Template of item. You can use the fundamental variable of Nucleus item templates EXCEPT item-body variables and comment variables. However, there may also be a variable which you cannot use in them. In this case, please use the template of Nucleus. アイテム表示のためのテンプレートです。アイテム本文やコメント表示系以外のNucleusの基本的なテンプレート変数が使用できます。たいがい必要なものは使えると思いますが、ダメなものがあったら申し訳ありませんがNucleusの方のテンプレートを使用するようにしてください。付属テンプレートは表示を軽くしたいためこのような制限をしています。

あと、付属テンプレート専用の変数として、<%if(category)%>を使うことができます。ただし必要はないはずですが、入れ子はできません。

メインの目次スキンやアーカイブスキンで使う場合、結果見出しを表示するか

これらはパラメーターでフォームを非表示にしていない場合に有効な設定です。例えばアーカイブリストスキンでは結果見出しを表示したいけど、メインの目次スキンではいらない、という場合に設定してください。

In Archive skin, show the heading of results
アーカイブスキンで使う場合、結果見出しを表示するか
In Index skin, show the heading of results
メインの目次スキンで使う場合、結果見出しを表示するか

複数blogモード時のカテゴリー名の表示形式

[all blogs mode] Category name format. You can use <%category%>, <%blogname%>. But you CAN NOT use character entity references and HTML tags.
複数blogモード時、アイテムのテンプレートに<%category%>が含まれている場合、カテゴリー名の表示にblog名を含めて表示することもできます。その部分のテンプレートを設定してください。ただしHTMLタグと実体参照は使うことができません。

複数blogモード時のoptgroup使用設定

[all blogs mode]BlogID which does not use "<optgroup>". If you want to specify two or more blogIDs, put a slash between blogIDs. (All blogIDs : write only " * "[asterisk])
複数blogモード時、通常はカテゴリーセレクトフォーム部分はblog名をラベルとしたoptgroupで囲って表示されます。グループ化する必要の無いblogがある場合、ここにそのblogIDを記入してください。複数ある場合はスラッシュ区切りで。全てのblogで必要の無い場合は、「*」(アスタリスク)を一つだけ記入してください。(ちなみにHTML構造上、blog名部分も選択可能にするのは無理です。ただし、選択肢をblogのみにすることならパラメーター指定することで可能です。)

単一blogモード(通常モード)時、NP_MultipleCategoriesがインストールされている場合のカテゴリー間の区切り文字の設定

[one blogs mode] If NP_MultipleCategories is installed, the separator of each category name.
NP_MultipleCategoriesがインストールされていてアイテムのテンプレートに<%category%>が含まれている場合、複数カテゴリーをもつアイテムはそれら全てのカテゴリーが表示されますが、その表示時、各カテゴリー間の区切り文字にしたい文字を記入してください。

Tipsと裏技

Nucleusのテンプレートを利用する場合の月ヘッダー表示方法

Nucleusのテンプレートを利用する場合、そのままではTitleList付属のテンプレートのような月ヘッダ(見出しまたはその月のアーカイブへのリンク)が表示できません。これを表示させるには、利用するテンプレートの下の方の「日付のヘッダー」欄で、もし日付のヘッダーを設定してあるのならそれより上に、以下のようなテンプレートを記述をして下さい。

<%%TitleList(<h2><a href="<[monthlink]>">%B %Y</a></h2>)%%>

カッコの中がテンプレートになります。上記の場合、

  1. このテンプレートがTitleListから呼び出されたときのみ
  2. 更にアーカイブモードがmonthのときのみ

以下の様に出力されます。

<h2><a href="index.php?archive=2004-07">July 2004</a></h2>

これらの条件に該当しない時は何も出力されませんので、通常使用のテンプレートと併用も可能です。<[monthlink]>はその月のアーカイブのURLに置き換わります。

希望事項

バグ

開発履歴

  • Version 0.35 <2006,9/25>
    • セキュリティアップデート
  • Version 0.34 <2006,3/24>
  • Version 0.33 <2005,5/7>
    • 特定条件のパラメータ指定での不具合修正
  • Version 0.32 <2005,1/6>
    • ContentsListに対応
  • Version 0.31 <2005,1/5>
    • FancyURLでのサブカテゴリー絞込みに対応
  • Version 0.3 <2004,12/23>
    • MultipleCategories、複数ブログに対応、etc
 
plugins/titlelist.txt · 最終更新: 2011/03/23 21:28 (外部編集)