NP_TagEX 「タグ」利用プラグイン
バージョン0.1ですから、当然テスト環境なNucleusとか、少々のエラー出ても構わない所でだけ使ってやってください。
配布の目的は、バグ報告と機能リクエストをいただくためです。
→こちらで0.2配布中です。
ダウンロード:NP_TagEX01.zip
以下、使い方など。
入力方法:
アイテムごとに、タグ(=キーワード)を指定入力して使います。
入力場所は、投稿画面の追加プラグインオプションです。
過去に登録したタグがある場合は、右にリストが出ますので、クリックすれば追加されます。(今のところリストはアイテム多い順)
見出し横のResetをクリックすれば入力前にリセットされます(新規投稿ではなく編集の場合は、編集前のデータにリセットされます)。
なお、複数指定する場合はカンマか改行で区切ってください。
先頭、末尾の半角スペースは自動で削除されます。それ以外のスペースはタグとして利用されます。
タグ一覧の表示方法:
スキンに
<%TagEX(list20/1/0/1/4)%>
のように書きます。パラメータはスラッシュで区切ってください。
パラメータ1:今のところ「tag」と「list」があります。
<%TagEX(tag)%>
と書いた所には、urlにて指定されているタグが出ます。
listの場合は、タグ一覧。list20と書けば、20件のみ表示となります。
パラメータ2:リストの絞り込みモードです。
0:どんなurlにもかかわらず、常にすべてのblogのタグを表示します。
1:選択中のblogに属するアイテムに登録されたタグのみ。
2:カテゴリ(サブカテゴリ)絞り込み時は、その絞り込まれたカテゴリに属するアイテムに登録されたタグのみ。
※この絞り込みモード2の時のみ、?tag=movie&blogid=1catid=2&subcatid=6 のように各idを継承したリンクを生成します。
パラメータ3:リストの並び順。
0:mysqlのSELECTにお任せで特に指定しない
1:ぶらさがるアイテムが多い順
2:ぶらさがるアイテムが少ない順
(ランダムはまだ未実装)
パラメータ4:最小フォントサイズ単位はemでハードコーディング。
パラメータ5:最大フォントサイズ単位はemでハードコーディング。
※この最小/最大フォントサイズは、ぶら下がるアイテムの数のウェイトによって表示を大きくしたり小さくしたりするためのものです。よく知らないが海外ではpopularらしいのでとりあえず実装してみた。
【リスト表示のテンプレート】
今のところ、テンプレートはハードコーディングです。
450行目に中途半端に3種類用意してあります。
デフォでは3番目が有効になっていますが、これってデバッグ用に近いので、とりあえず2番目を採用して頂いたら一番見栄えがいいかもしれません。
1番目はアーカイブリストページとかサイトマップっぽいヤツに...と思ってたんですが、行がいくつか少ないです。2番目とか3番目とか参考に整えてコメントで発表していただくと幸いです。
もちろん、そのうちテンプレートセットを登録するページとか作って、パラメータでそのテンプレートを呼び出しできるようにするつもりです。
テンプレートへの記述方法:
アイテム本体の所に <%TagEX()%> と書くと
『Tag: tag / flag / url』とリンク付きで表示されます。
とりあえず、これだけです。
おまけで、全タグをハイライト表示させる機能をつけました。
テンプレートの説明の中に
<highlightTagsAll>
と書くと、常にすべての登録済みタグがハイライト表示されます。
<highlightTags>
と書くと、urlにて指定されたタグのみハイライト表示されます。
(すっげーヘンテコリンな指定方法ですいませぬ。)
で、urlにて指定されたクエリ"tag"を反映させて記事を抽出表示させるのは、
ダウンロード:NP_ShowBlogs2004.zip
を使ってください。
ただし、これは2.001を元に作っているので、一度アンインストール+再インストールが必要です。それと、無限階層化ではないマルチサブカテゴリプラグイン(0.37jだった?)を使っている人はエラーになるかもしれません。(そのときは教えてください)
パンくずリストにもタグを表示させたい場合は
ダウンロード:NP_ItemNaviEX098.zip
を使ってください。
別にナビゲーションの最後に『(Tag for movie)』ってちっさく出るだけですけど。
でもって、アーカイブとの連動はしてないですけど。
書き忘れたこともあるかもしれません。
とりあえず、興味のある方はトライの方、よろしくお願い申し上げます。
なお、スラスラとソースが読める人はおわかりかと思いますが、テーブルを2つ作ってます。
1個はテキストエリアをそのまま格納しただけのテーブル、もう一つは追加削除時に整備するインデックスデータです。
たぶん、タグを入れてるアイテムが1,000個とかなって、タグの数も増えてきたらインデックスデータを使用する方が速いかも、と思って作ってはいますが、あんまり利用してません。
そのうち、多量なデータを入れて実験して、利用することになると思います。
(こういうスクリプトになってくるとたぶんPerlの方が速いんだろうな...)
現状では、リスト作成とかの度に全テキストエリアデータをスキャンして配列化して並び替えてます。
ですから、「ちょっと見てよこのurl。タグ付きアイテムがこんなに多いとこんなに遅いよ?」みたいな報告があると嬉しいです?!(もちろん逆に『こんなにあるけどまだこんなに速いよ』だともっと嬉しいかもw)
Posted 10/21/05 by nakahara21 | Filed under: プラグイン
Comments
Add Comment