ls2_1.inc.php

サマリls2 拡張。リストする階層が指定できる。
リビジョン1.8
対応バージョン1.4.x
投稿者sonots
投稿日2004-08-10 (TUE) 14:09:19

説明

sonots:ls2_1.inc.php に引っ越しました。フルスクラッチから書き直したsonots:lsx.inc.php が最新版です。

rev2.4 修正 -- 05/24/2006

ls2 拡張*1自作プラグイン/ls3.inc.php とは違い、 ページ名による階層構造だけでリストする純粋な ls2 の拡張です。 MenuBar に #ls2_1(hogehoge/,depth=1,relative) のようにおいておくと便利です。

標準プラグイン ls2 からの変更点(初版)

その後の追加機能

書式

#ls2_1(パターン[,オプション])
&ls2_1(パターン[,オプション]);

インラインプラグイン時は強制的に display=inline となります。link オプションも可能です。

パラメータ

ダウンロード

拡張子の番号をはずして、plugin ディレクトリに放りこんでください。

リビジョン日付変更点
filev1.2602/28/2005ちょっとコードの書き直し。動作的には何も変わっていません。
filev1.2502/28/2005action プラグイン時の動作が壊れていたので修正。
filev1.2402/25/2005contents2_1のほうで要望のあったリストの横並び表示(display=inline)を実装。それにより hierarchy=true,false が display=hierarchy,flat,inline に変更。下位互換性のため hierarchy も残してあります。except の正規表現ルールを preg_match から ereg に変更した。'/' に気を使わないですむかも。コードの整理。
v1.2302/25/2005date オプションを new プラグインに依存しないようにきちんと作り直した。New! を日付なしでも表示できるようになった。それにあわせて今までの new オプション(日付順ソート) を datesort に変更し、new は New! を表示するオプションにした。
filev1.2202/07/2005先のマージで title オプション時のアンカーがこわれていたので修正。
filev1.2002/07/2005PLUGIN_LS2_1_HIERARCHY, PLUGIN_LS2_1_RELATIVE でそれぞれの初期値を設定できるようにした。デフォルトは FALSE。
filev1.1902/07/2005ls2 最新版とのマージで new オプションに不具合がでていたので修正
filev1.1802/06/2005filter オプションの実装。オプションの引数に true または false を指定できるようにした。PLUGIN_LS2_1_COMPACT, ならびに TITLE_COMPACT のデフォルト値を TRUE にした。link オプションのリンク名を link=リンク名 で指定するようにした。いくつかのオプションで hierarchy,relative と併用すると納得のいかない表示になっていたのを修正。
v1.1702/06/2005現在の ls2 最新版 v1.23 とのマージ。diff3 使ったけどもうやりたくない。
filev1.1612/26/2004number オプションと new (更新日時ソート)オプションを併用した場合、最新 number 件になるように修正。おもむろに number 件取り出した後に更新日時ソートになってました。
filev1.1512/26/2004更新日時によるソート機能(新しいもの順)を追加。それに伴い、先の new オプション(日付とNew表示)の名前を date に、更新日時によるソート(新しいもの順)を new に変更。
filev1.1412/18/2004先の改造により link オプションの挙動に不具合が出ていたので修正。また new オプション(日付とNew表示)が実はきちんと動いていなかったので修正。
filev1.1312/17/2004depth= がない場合 depth オプションと判断しないように。number オプションの仕様を変更。title_number, title_compact を追加。new オプション(日付とNew表示)を追加。
filev1.1110/27/2004except オプションの追加
filev1.1010/22/2004要望にあった表示件数指定機能(number)追加。アンケートのとおり depth オプションには depth= をつけるように変更。下位互換性を考えて今のところ depth= がなくても depth オプションと判断されるようになっています。ついでにソースをほんの少し整えると同時にコメントをちらほら。
filev1.808/14/2004無駄な処理があったので削除。preg_replace, ereg_replace を使用しないようにしてわずかながら高速化
filev1.608/12/2004ページ名のパターンに / を指定した場合すべてのページをリストするように改良。relativeオプション単独のときの挙動が仕様通りになっていなかったので修正
filev1.508/11/2004linkオプション指定時の挙動を修正
filev1.408/10/2004linkオプション指定時の挙動を修正
filev1.008/10/2004新規

使用例

初版機能

PLUGIN_LS2_1_LIST_COMPACT = FALSE; と設定されているものとして読んでください。 現在はデフォルトで TRUE です。

以降は test というページで記述したものとする。


#ls2_1

とすると以下のように表示されるページ群があったとする。


#ls2_1(,depth=1)

#ls2_1(,depth=1-2)

#ls2_1(,depth=2+1)

#ls2_1(,relative)

#ls2_1(,display=hierarchy)

#ls2_1(,display=hierarchy,compact)

上位のページが存在していない場合は詰まる。compact は display=hierarchy 用のオプション。 test/a/bb/bbb, test/c/cc/ccc が詰まっている。


#ls2_1(,relative,display=hierarchy)

compact を併用しない relative,display=hierarchy は少しわかりづらい。test/a/aa/c/cc/ccc かと思ってしまう。


 #ls2_1(,relative,display=hierarchy,compact)

include, title, link, reverse に関しては標準プラグイン ls2 と意味合いは同等。 ls2 の compact は ls2_1 の title_compact です。

その後の追加機能

ここでも

#ls2_1

とすると以下のように表示されるページ群があったとする。


#ls2_1(,number=2)

#ls2_1(,number=-2)

#ls2_1(,except=cc|/a$)

#ls2_1(,date)

と出力されるとする。


#ls2_1(,datesort,date,new)

#ls2_1(,datesort)

#ls2_1(,display=flat)
&ls2_1(,display=flat);

[ test/a | test/a/aa | test/a/aa/aaa | test/a/bb/bbb | test/c/cc/ccc ]

悩み点、アンケート

階層指定オプションは \d?[-+]?\d? ではなく、depth=\d?[-+]?\d? のように depth= があったほうがよいか。 数字はこのオプションと判定されるので、link オプション時のリンク名を数字だけにできなかったり、今後数字だけのオプション名が使用できないかも。

選択肢投票
修正したほうがいい5
今のままでいい1

depth= をつけるように確定しました(ver 1.13)。ご協力ありがとうございました。


title の compact と hierarchy の compact はわけるべきかどうか。 現状は分ける場合にオプション名を何にしたらよいのか分からないので一緒にしているだけです。

選択肢投票
わけるべき1
一緒でよい0

ちょっと長いですが、title_compact とすることにしました(ver 1.13)。ご協力ありがとうございました。


reverse,hierarchy,relative とするとよくわからない表示になる。 これは勘弁してください。


non_list のデフォルト値を勝手に TRUE にしているがどうか。

選択肢投票
TRUEでよい3
FALSEでよい0
自分で設定するのでどうでもよい1

TRUE で確定します(ver 1.18)。ご協力ありがとうございました。


compact のデフォルト値は用例説明に合わせるために FALSE にしているがどちらにすべきか。

選択肢投票
TRUEでよい2
FALSEでよい0
自分で設定するのでどうでもよい0

TRUE で確定します。オプションで false にもできるようにしました(ver 1.18)。ご協力ありがとうございました。


title は headline かなにかほうがわかりやすくないか。title オプションはページの見出しもリストするオプションです。作者は最初 title とは題名のことなのでどこのことかと戸惑いました。見出しなら headline じゃないのか(H2タグとかだし)と。下位互換用にtitleも残さないと問題があるので結局、「変えるほどのことではない」です。

選択肢投票
headlineがいい2
むしろtitleが一番ピンとくる1
変えるほどのことではない0
変えてもいいがtitleも残したほうがいい0

他にもっとピンとくるいいオプション名があったら教えてください

コメント

バグ、リクエストなどがあったら教えてください。リクエストは詳細な仕様も書いてくれたりするとうれしいです。

なわけですが(compactがないので少しわかりづらいですが)、

のようになればよいですか?また、2-,hierarchy だけの場合は

で、よいですか?この場合にわざわざ test/c/cc などを出す必要があるでしょうか?そういうオプションだと思ってしまえばそれまでですが。




こんな感じなんですよね。仮想階層の1階層のみを表示して整理したイメージです。


*1 ls2 v1.23 の拡張です。
*2 ls2_1.inc.php v1.18 からです。それ以前は「オプションと判定されない最初の引数」でした
*3 \d*[-+]?\d* は正規表現による表記です。\d は数字のことです。
*4 -?\d+ は正規表現による表記です。
*5 ということで、余計なお世話ながらその辺の説明の箇所を強調表示してみました。
*6 削除した文章は勘違いでした。見なかったことにしてください。&worried;
*7 なんか pcomment 動かなくない?
*8 ls2と完全に置き換えたかったのですが少し気になってしまって…

添付ファイル: filels2_1.inc.php.26 5643件 [詳細] filels2_1.inc.php.25 2603件 [詳細] filels2_1.inc.php.24 2550件 [詳細] filels2_1.22.inline.diff.txt 1821件 [詳細] filels2_1.inc.php.22 2618件 [詳細] filels2_1.inc.php.21 1227件 [詳細] filels2_1.inc.php.20 2485件 [詳細] filels2_1.inc.php.19 2500件 [詳細] filels2_1.inc.php.18 2580件 [詳細] filels2_1.inc.php.16 2848件 [詳細] filels2_1.inc.php.15 2688件 [詳細] filels2_1.inc.php.14 2751件 [詳細] filels2_1.inc.php.13 2639件 [詳細] filels2_1.inc.php.diff 2463件 [詳細] filels2_1.inc.php.11 2776件 [詳細] filels2_1.inc.php.10 2610件 [詳細] filels2_1.inc.php.9 1292件 [詳細] filels2_1.inc.php.8 2513件 [詳細] filels2_1.inc.php.6 2749件 [詳細] filels2_1.inc.php.5 2525件 [詳細] filels2_1.inc.php.3 1179件 [詳細] filels2_1.inc.php.4 2746件 [詳細] filels2_1.inc.php.2 1305件 [詳細] filels2_1.inc.php.1 1211件 [詳細] filels2_1.inc.php.0 2515件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-11-21 (火) 23:42:13
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 1.289 sec.

SourceForge