Comment:Plugin/tag.inc.php
Table of Contents |
アイデア
Summary | Status | Vote | Priority | Load | Idea Note |
タグのバンドル(まとめ上げ)機能 | 吟味 | 低 | 高 | たぶんやらない。 | |
差集合を \ に変える | 吟味 | 現状の - だと HD-DVD など使用頻度が高そうなので、少しでも不都合がなくなるように \ に変えるかどうか。 積集合∩、和集合∪、差集合¥(バックスラッシュ) 下位互換として設定で - に戻せるようにもしておくこと。 | |||
タグ+配下のページのリスト | 完了だがまだ吟味 | 高 | 少 | すでに実装は出来ている。ユーザインタフェースとしての仕様が決まっていない。 とりあえず以前の通り #taglist 全タグ+配下、#taglist(tag=タグ) タグ配下 と実装はしてある。ただしタグ+ページ表示で lsx 的オプションがきっとおかしい動作をする。 1) タグの一覧プラグインから、タグ付けページ一覧プラグインを呼び出す形にしたほうが良いかもしれない。 2) #tagpagelist がタグ+ページ、とすると、#pagetaglist でページ+そのページが持つタグ、の一覧もしないといけないのだろうか。 |
コメント
- 使わせていただいています。日本語でタグを記述した場合、タグクラウドで表示できるのですが、クリックしてもlsxのリストではなく、FrontPageにとばされてしまいます。。。
これはどういった症状なのでしょうか?バージョンは1.4.6plus-u2-i18nです -- sannda? 2006-07-31 (月) 05:13:21
- 渡し書きすいません。どうも日本語でタグを作ると、encode(ページ名)_tag.tagは生成されますがencode(ページ名)_page.tagは作られていないみたいです。。 -- sannda? 2006-07-31 (月) 05:48:56
- encode(タグ名)_tag.tag のほうならまだしも encode(ページ名)_page.tag はタグ名がなんだろうが関係ないはずですけどねぇ。FrontPage に飛ぶということは HTML ソースのリンクアドレスがどうなっていますか?常に ?cmd=lsx&tag= は付くはずなのですが・・・ タグ付け時に表示されるリンクでも FrontPage になってしまうのですかね?やはり。rev2.1 の修正も関係ないですよね?-- sonots 2006-07-30 (Sun) 12:43:48
- rev2.1の修正で治りました・・・
参考なのですがver2ではリンクアドレスはphp?cmd=lsx&tag=(日本語)になっており。かつFrontPageが表示されている状態です -- sannda? 2006-07-31 (月) 08:30:24
- ・・・アドレスに日本語が表記されているようじゃ表示されるわけがありませんねぇ
お恥ずかしい限り。お手数かけました、ありがとうございます -- 2006-07-31 (月) 08:37:53
- 存在しないタグということになって返り値が空文字になってその結果 pukiwiki の仕様で FrontPage の内容が表示されるという現象だった模様です。Firefox だとマウスオーバーで表示されるアドレスがURLデコードされどちらにしろ日本語になるしリンククリックでも正常動作してしまっていたので気づくのが遅れてしまいました。申し訳ない限りです
。高機能が故にIEでテストしないとだめですね。 -- sonots 2006-07-30 (Sun) 20:45:17
- 初めまして。動作実績の投票項目にありませんが、B-Wiki 20050210で動作しました。 -- vanjac? 2006-08-27 (日) 22:59:07
- すごい便利ですね!ところで「hogehoge」というページに&tag(タグ)と書いて、「hogehoge」→「foobar」とページの名前を変えるとlsx(tag=タグ)に「hogehoge」が表示されてしまいます。とりあえずご報告 -- はらじゅん? 2006-08-28 (月) 18:35:31
- 便利なもの、ありがとうございます。タグクラウドは、数字だけのタグを使うと挙動がおかしくなってしまいます。ソースを見たら、class="tagcloud-xx"なんてなってました。 -- nanashi? 2006-09-14 (木) 23:02:53
- ご提案:meta name="keywords" にタグを書き出すってどうでしょう? -- poq3? 2006-09-16 (土) 15:20:50
- plus なら html の head タグ内部に任意の文字列を出力させる機構があったと思いますが(global $head_tags)、本家だとデフォルトでサポートしていなかったと思うので厳しい気がします。-- sonots 2006-09-17 (Sun) 02:20:55
- 本家 init.php に$head_tagsがありますよ
-- poq3? 2006-09-19 (火) 15:47:21
- 本当だ。本家にもありますね。ありがとうございます。 -- sonots 2006-09-19 (Tue) 08:22:30
- 対応しました。 -- sonots 2006-12-27 (水) 08:59:24
- タグクラウドの修正、ありがとうございました。もうひとつリクエストです。タグをクリックするとlsxでリスト表示されますが、そのタイトル(<h1>...</h1>の部分)にクリックしたタグ名が入るようにならないでしょうか? -- nanashi? 2006-09-25 (月) 19:08:33
- 使わせていただいています。ありがとうございます。ちょっと分からないことがあるのですが、タグは表示されるのに、なぜか文字の大きさは変わりません。たくさんタグ付けしてありますし、CSSもスキンに入れています。ほかに見直す点はありますでしょうか? -- ind? 2006-10-26 (木) 02:20:48
- tag使わせて頂いています.質問なのですが,1ページに複数のTagを付けていると lsxで参照する場合に 「lsx(): The tag token, カテゴリ名, is invalid. Perhaps, the tag does not exist.」という文言が表示されるのですが,対処法などございますでしょうか?
-- huro? 2006-11-05 (日) 10:12:28
- 当方のPHP環境(レンタルサーバ)が4.2.4のため、内部の関数「mb_strtolower」が使用できません。そこで単純に「strtolower」に書き換えてみたところ一応動作しているようなのですが、大丈夫でしょうか? -- may? 2006-12-11 (月) 23:01:06
- XOOPS上のPukiWikiModで、動かせるようインスタントで修正してみました。便利なプラグインをありがとうございます。 http://eternalbeta.openprocess.jp/archives/39
-- yousuke? 2007-01-10 (水) 23:51:15
- ところで修正箇所はどこでしたか?特に pukiwiki 本家、plus に不都合が出ないならその修正箇所を取り込んでしまうことも可能です。 -- sonots 2007-01-11 (木) 05:44:11
- ありがとうございます。以下の3箇所です。 -- yousuke? 2007-01-11 (木) 12:20:34
- is_page_new関数でpageのfilemtime取得するところで、filemtime(get_filename(encode($page)))。これは分岐が必要なような気がしてます。 -- yousuke? 2007-01-11 (木) 12:21:24
- 日本語ページ名にブラケットがついてしまうので、write_tagcache関数で、$pagesをimplodeして$contentsに入れる前で、$pages = array_map(strip_bracket, $pages); -- yousuke? 2007-01-11 (木) 12:22:51
- PukiWikiModのfunc.phpにはget_script_uri関数が入ってないので、ベタですがtag.inc.phpに埋め込んでしまいました。 -- yousuke? 2007-01-11 (木) 12:23:22
- hmmm。filemtime(get_filename(encode($page)))はちょっと問題ありですねぇ。だめだ。申し訳ない。 -- sonots 2007-01-11 (木) 13:46:01
- tagとlsxのプラグインを使わせていただきます。(http://sweet-earth.net/
)tagcloudが複数行・大フォントに膨らんでくると、行間がせますぎてかぶってしまうので、cssの.tagcloud20 あたりにline-height:130%;を挿入して調整しました。pukiwiki初心者なので、とんちんかんなコメントだったらごめんなさい。 -- suko? 2007-02-04 (日) 10:22:06
- 確かに line-height は必要ですね。書いておきました。コピーしてもってきただけだったので気付きませんでした。ちゃんと自分で使わないとだめですねぇ。しかし今更ページ名階層をやめてタグに移行するのもつらい・・・。 -- sonots 2007-02-04 (日) 13:19:14
- タグを「駅名」「店形態」「ベジ度合い」などに分類して、一つの分類ごとにタグクラウドを表示させたいと思っているのですが、可能でしょうか? -- suko? 2007-03-02 (金) 14:30:02
- 関連タグ表示、のような意味合いですよね?関連タグ一覧表示はよく見ますが、それをタグクラウドとして表示するのはあまり見たことがないのですが、うーん、どうしたものでしょうね。とりあえず関連タグ表示機能は必要だと思っています。 -- sonots 2007-03-02 (Fri) 00:49:24
- なるほど、関連タグ表示という機能が定番なのですね。タグクラウドを分類するというのは、タグを一緒くたにビジュアル化するという、タグクラウドのそもそもの趣旨に反する考え方だったのかもしれません。取り急ぎ、現状のタグクラウドを有難く使わせていただき、もし今後、関連タグ表示機能が追加されましたら、それにアップグレードさせていただきます。 -- suko? 2007-03-02 (金) 18:27:55
- 対応しました -- sonots 2007-05-30 (水) 03:17:46
- 非表示ページ(:ページ名)へタグを入れたときにも、リストされるようにしたいのですが、できますでしょうか? -- ipod-groove? 2007-03-19 (月) 20:44:29
- たくさんのすてきなプラグインをありがとうございます。へっぽこソースなんですが、タグ入力支援フォーム
を作ってみました。ご笑覧いただけると幸いです m(._.)m -- jidaikobo? 2007-03-27 (火) 09:49:30
- 本体改造の部分があまりにも多すぎるので本当に必要最小限になるように頑張ってみてください。そうなれば取り込ませて頂くこともありえます。よろしくお願いします。-- sonots 2008-01-05 (土) 17:28:55
- sonots さん、コメントありがとうございます。以前の書き込みから、ゴニョゴニョといじったので、またお見せできるようなものになりそうだったら、書き込ませていただきますね。ではでは〜 -- jidaikobo? 2008-02-05 (火)
- お願いします。一言(多言):pukiwiki 本体やスキンにコードを追加する場合、本体側には
if (exist_plugin('hogehoge')) { plugin_hogehoge_func(); }
のような三行だけ追加すればよい、というような形だと取り込み易そうです。設定も pukiwiki.ini.php ではなくそのプラグインの設定という意味でプラグインに書いてくれるとよさそうです。出力 HTML をいじる必要がある場合、PukiWiki 本体をいじるよりも、出力された HTML を str_replace などでいじってやるほうがプラグインとしては導入し易いこともあります。ただこれは脆くなる欠点もあるので判断が難しいのでおまかせします。後、モデル(ロジック、計算、処理)とビュー(HTML)のコードをできれば分離してください。そして、本体やtagプラグインに改変をする場合コーディングスタイルを合わせてください。そうでないとコード中でいきなり違うスタイルになるので取り込むのに抵抗が生じます。具体的にはPEAR標準コーディング規約に沿っています。ただ、インデントはPukiWikiではタブですが、私のプラグインではPEAR規約的に空白4文字を使用しています。改変部分は差分(diff -u)を下さい。 -- sonots 2008-02-05 (火) 12:04:49
- 本体改造の部分があまりにも多すぎるので本当に必要最小限になるように頑張ってみてください。そうなれば取り込ませて頂くこともありえます。よろしくお願いします。-- sonots 2008-01-05 (土) 17:28:55
- ひょっとして、PHP5のPlus!だと、1ページに2つめ以降の tag 設定が正常にtag登録しないのは、固有の問題でしょうか? -- Kjm? 2007-06-06 (水) 01:43:30
- タグ登録は一ページに一度しか呼べません。これは仕様です。2回目の呼び出しは1回目の呼び出しを上書きするだけなので禁止にしました。#コード的には is_page_new の部分で自然と2回目がはじかれます。 -- sonots 2007-06-06 (水) 04:46:54
- ソースの、「cmd=lsx&tag=」を2箇所ほど「cmd=lsx&linkstr=title&tag=」に変更したところ、いい感じになりました。このままですとPlus! 専用になってしまいますが、defineで変更できるようになると汎用性があるように感じます。 -- Kjm? 2007-06-17 (日) 21:06:34
- lsx リンクへのデフォルト値ですか?あってもいいかもしれませんね。いずれ。 -- sonots 2007-06-18 (月) 01:23:14
- そうです。 補足しますと、tag.inc.phpで、 define('PLUGIN_TAGS_CMD_LSX', 'cmd=lsx&tag='); と設定し、tag.ini.phpで、 define('PLUGIN_TAGS_CMD_LSX', 'cmd=lsx&linkstr=title&tag='); と設定すると、それにあわせて動作するイメージです。 -- Kjm? 2007-06-18 (月) 03:23:51
- 対応しました -- sonots 2008-01-05 (土) 17:28:55
- タグ名を読み仮名順に並べる方法を考えてみました。
&tag(南京の真実|なんきんのしんじつ); と設定すると、内部的に&ruby(なんきんのしんじつ){南京の真実};を呼び出し、画面上は南京の真実 となるようにするのはいかがでしょうか? -- Kjm? 2007-06-18 (月) 11:27:18- 読み仮名ですか?うーん、やるとしたらそのまま &ruby(なんきんのしんじつ){南京の真実}; と書けるようにしたいですね。他のインラインプラグインも使えるように。でもそこまでするとなにか問題もあるかな・・・。あと読み仮名でソートするために読み仮名を保持しておくのも面倒くさそうですねぇ。ファイルフォーマットがかなり変わりそう・・・。 -- sonots 2007-06-18 (月) 19:36:55
- 「|」で分けるのには、理由があったります。()内でパラメータを指定すると、「,」があると、外側のインラインプラグインの引数として判断してるっぽいですし、「);」があると外側のインラインプラグインの終端として動作するっぽいです。
マルチライン{{}}で指定すれば問題なのかもしれませんが。-- Kjm? 2007-06-19 (火) 07:24:12
- 「|」で分けるのには、理由があったります。()内でパラメータを指定すると、「,」があると、外側のインラインプラグインの引数として判断してるっぽいですし、「);」があると外側のインラインプラグインの終端として動作するっぽいです。
- 読み仮名ですか?うーん、やるとしたらそのまま &ruby(なんきんのしんじつ){南京の真実}; と書けるようにしたいですね。他のインラインプラグインも使えるように。でもそこまでするとなにか問題もあるかな・・・。あと読み仮名でソートするために読み仮名を保持しておくのも面倒くさそうですねぇ。ファイルフォーマットがかなり変わりそう・・・。 -- sonots 2007-06-18 (月) 19:36:55
- タグに'-'を含む文字列を指定すると、'-'が消えてしまう。HD-DVD→HDDVD、Blu-ray→Blurayのように。 -- Ilfa? 2008-01-05 (土) 14:34:13
- [lsxから移動] tagプラグインと一緒に使ってます。差集合#lsx(tag=foo-bar)がうまく動いてくれないようです。あと、tagプラグインでタグを付けた場所に張られるリンクの先に、別のタグによる絞り込む機能やメニューバーを表示したりってできますか?絞り込む機能はdel.icio.usやはてなブックマークみたいなのを考えてます。メニューバーは他のページに表示しているので、そこだけ表示されないとすこしキモチ悪いので。(暇な時にでも・・・) -- 2007-02-14 (水) 19:58:26
- 差集合は後で見てみます。絞り込み用のインタフェースは用意してありません。実装アイデアとしては、リストを作るときにそれぞれのページのタグログを見て関連タグを取得し +- リンク表示する。+- を使用していたら remove といった形でしょうか。もちろんアクション型の場合だけになりそうです。しかし、アクション型で tag オプションを使用しているときだけ特別な処理をするというのは何か気持ち悪い。かといってタグ用の別のプラグインを作ると sort=date など lsx の他の機能を使えなくなるのでそれもまたもったいない。うーん。メニューバーはスキンの管轄です。うちのスキンでは常にメニューバーは出ます。編集画面でも出ます。 -- sonots 2007-02-14 (Wed) 09:16:23
- tagプラグインと一緒に便利に利用させていただいています。当方でも差集合がうまく動かないようです。(PukiWiki 1.4.7 , PukiWiki 1.4.8_alpha) -- 774RR? 2007-04-05 (木) 09:40:51
- 差集合修正しました。Plugin/tag.inc.php を差し替えてください。 -- sonots 2007-05-26 (土) 09:38:27
- 修正ありがとうございました。無事動作しております。 -- 774RR? &new([nodate]){date}: Invalid date string;
- [lsx から移動] タグ付けした全てのページに対して
- タグ名1
- ページ名1
- ページ名2
- タグ名2
- ページ名1
といった出力はできますでしょうか? -- G? 2007-10-02 (火) 21:42:06 - 今は対応していません -- sonots 2007-12-21 (金) 13:29:44
- org:質問箱4/268
私は投稿者ではないですが、私もこの機能が欲しいです。お時間できましたらよろしくお願いします -- 2008-03-18 (火) 17:07:26
- -うーん、やっぱりそうなってくるとただタグだけを一覧する機能も欲しくなってきますよね。今の #taglist はページ一覧なので、タグ一覧用に別のプラグインを作るか、もしくはどういうオプションを作るか、というインタフェースの部分で悩んでいます。まず、
- #taglist タグ一覧
- #taglist(タグトークン) ページ一覧
- #taglist タグ一覧とそのタグの付いたページ一覧
- #taglist(タグトークン) ページ一覧
- 対応しました。#tagcloud の書式をばっさり変えてしまったので注意してください。 -- sonots 2008-03-19 (水) 21:36:32
- ページ名1
- 大変便利に使わせていただいています。 r184版で?cmd=tagとしたところ、以下のようなエラーが出てキャッシュのクリーンアップができないのですが、なぜでしょう? 何らかの設定が必要ですか? 「PHP Fatal error: Call to undefined function _() in C:\・・・\pukiwiki\plugin\tag.inc.php on line 80」 -- sham? 2008-04-03 (木) 14:37:21
- 使わせていただこうと思ったんですが…PHP4.4.1、PukiWiki1.4.7(UTF-8)で最新版を使いタグをつけると、次のエラーが出てタグをつけたページが表示できなくなるのですが、どうしてでしょうか。「Fatal error: Call to undefined function: str_split() in /home/pokestory/public_html/plugin/sonots/sonots.class.php on line 1609」 -- passion? 2008-08-26 (火) 22:11:08
- sonots/sonots.class.php 先頭にある loadFunction をすべて
-@loadFunction('str_split'); +require_once(dirname(__FILE__) . '/Compat/Function/str_split.php');
のように変更してみてください。もしくは svn 版のほうの先頭行をコピペしておきかえてください。loadFunction が load できていないみたいです。-- sonots 2008-08-26 (Tue) 12:48:43
- メモ:もしくは、Compat.php#loadFunction で
-$file = sprintf('PHP/Compat/Function/%s.php', $function); +$file = sprintf(dirnae(__FILE__) . '/Compat/Function/%s.php', $function);
ですね。-- sonots 2008-08-26 (Tue) 12:50:50
- sonots/sonots.class.php 先頭にある loadFunction をすべて
- ありがとうございました。Compat.phpのほうを修正しても相変わらずエラーが出ました。
なので、とりあえずsonots.class.phpの先頭をsvn版と置き換えましたところ、エラーは出なくなりました。
しかし、今度はタグの挙動が明らかにおかしいです。タグをつけているのにタグリストに載らないページが必ず1ページあります。キャッシュをリフレッシュしても同じです。そのページを削除すると、また別のページがタグリストに表示されなくなります。環境の問題なんでしょうか…? -- passion? 2008-08-28 (木) 00:21:24- ふーむ、後で調べてみます。 -- sonots 2008-08-27 (Wed) 15:24:09
- たぶん修正しました。ファイル依存関係があるので最新開発版パッケージにまるまるおきかえてみてくださいlsx v2.1a4
。バグ報告ありがとうございました。v2.0 パッケージをリリースするまで一ヶ月ぐらい寝かせていたのですが、まだありますねぇ
-- sonots 2008-08-27 (Wed) 18:13:48
- 遅くなりましたが、直っているようです。こちらこそ、わざわざありがとうございました。 -- passion? 2008-08-29 (金) 22:06:08
- PukiWiki1.4.7(PHP v5.2.6)の環境にて使わせていただきました。
プラグインを導入して、最初の1回目にタグ登録されたページにどうしてもタグが設定されない現象が起きます。それ以降に作成したページにたいしては自由にタグのつけはずしができるのですが、最初のページだけがなぜかできません。。。 -- J.J? 2008-10-03 (金) 15:25:50
- すみません、説明が不十分でした。追記させていただきます。 最初の1回目としてページにタグ付けします。cmd=tagでタグのリフレッシュを行った後、つけたタグのリンクをたどると、タグ付けした最初のぺージがリストアップされると思いますが、そこに表示されてきません。 -- J.J? 2008-10-03 (金) 15:37:36
- 上の現象が発生するケースにおいて、「Tag: oracle 」という記述を「Tag: oracle Tag: oracle 」というように1ページ内に2つ記述すると、リストアップされてきました。 -- J.J? 2008-10-03 (金) 16:51:54
- さらにいろいろ試してみましたが、最初の1回目以外でも同様となるケースがありました。 現在の最新「lsx」に旧バージョン「rev201」をかぶせて実行してみたところ、上記の現象は発生しませんでした。 -- J.J? 2008-10-03 (金) 17:55:17
- タグが cache/tagcloud.tag に保存されていませんでした
sonots/tag.class.php 345行目を修正したところ動作しました
- $plus = array_diff($new_tags, $new_tags); + $plus = array_diff($new_tags, $common_tags);
また上記の loadFunction は-$file = sprintf('PHP/Compat/Function/%s.php', $function); +$file = sprintf('Compat/Function/%s.php', $function); ^^ ← / も抜き
で動くようになりました -- 2008-10-09 (木) 17:41:04 - ↑上記の修正で動作することを確認できました。ありがとうございます。 -- J.J? 2008-10-13 (月) 05:43:59
- 遅くなりました。上記の質問において修正した不具合のことですね(08-27)。開発版最新にlsx v2.1a4
に置き換えてください。 -- sonots 2008-10-14 (Tue) 17:49:57
- 遅くなりました。上記の質問において修正した不具合のことですね(08-27)。開発版最新にlsx v2.1a4
- まだこのページに動きがあることを期待して質問します.
pukiwiki 1.4.7 utf-8, PHP 5.2.10-2ubuntu6.3 の環境で Plugin Collection v2.1 を使用してます.
どのタグリンクをクリックしても taglist で以下のメッセージが出ます.
cache ディレクトリ内に xxxxx_page.tag と xxxxx_tag.tag は生成されてます. また,コマンドから ?cmd=tag&pcmd=clean を実行すると以下のメッセージが出ますが,相変わらず同じ状況です.List of pages tagged by "XXXXX"
No page found.
pukiwiki をまっさらの状態にしてから同 Collection を使用すれば問題なく動いていますので,PHP 環境の問題ではないと思っています. 変更内容を 1 つずつ適用していけば解決できるかと思いましたが,膨大な量 & キャッシュが邪魔してわかりづらく断念しちゃいました.. 何かアドバイスをもらえると助かります. -- Jz? 2009-12-09 (水) 13:58:59Clean Tag Caches
Following pages were executed to assure
...- すいません. 自己解決しました. pukiwiki.ini.php の $non_list の影響のようです. どうにかならないか考えてみます. -- Jz? 2009-12-09 (水) 16:25:21
- もし可能でしたらpukiwiki 1.5.2対応版を出していただけますと助かります・・! -- 2020-01-05 (日) 13:33:33