Sat
1
Mar
2008
Ver 3.68 (リネーム時のページ情報同期、Wikiヘルパー表示、awsプラグインなど)
リネーム時のページ情報同期化
リネーム時に、onPageWriteBefore() と onPageWriteAfter() を呼ぶようにしました。
今までは、リネーム時に tag プラグインなど、ページ間情報を保持するプラグインで、データの不整合が起こっていましたが、これが改善されました。
Wiki ヘルパーの表示をコントロール
JavaScript にて、textarea に Wikiヘルパーを表示する仕掛けがあるのですが、xpWiki のブロックを他のモジュール画面で表示すると、その画面内の textarea に Wikiヘルパーが表示されてしまいます。
これは、Wiki レンダラーをサイト全体に適用している場合は便利ですが、通常の場合は意味を成さないので、意図的に Wikiヘルパーを使ってない場合は、表示しないようにしました。
Wiki レンダラーを使っている場合で、意図的に Wiki ヘルパーを使いたい場合は、textarea が表示されるテンプレートに、以下の一文を加えてください。
| <script type="text/javascript" src="<{$xoops_url}>/modules/xpwiki/skin/loader.php?src=wikihelper_loader.js"></script>
|
PukiWikiMod に含まれていた Amazon の ECS 4.0 を使った #aws プラグインを移植してみました。
以前は、XSLを使ってレンダリングしていましたが、XSL を書くのが私には面倒でしたので、今回は簡易的なテンプレートシステムを搭載してみました。
実際は、 の HypSimpleAmazon クラスを使いますので、 Ver. 20080224 以降が必要となります。
プラグイン書式は
#aws([Template name],[Search Index],[Keyword],[Node Number],[Sort Mode],[No Header])
となります。
テンプレートは、/class/hyp_common/hsamazon/templates/ ディレクトリに置きます。
テンプレートの書き方は、また後日まとめます。とりあえず、以下の HypSimpleAmazon クラスの動作サンプルが参考になると思います。
|
+
| | 今回の更新分 | - 2008-03-01 08:56 nao-pon
- * xoops_version.php (1.307):
- 2008-03-01 08:55 nao-pon
- * plugin/: code.inc.php (1.16), code/codehighlight.php (1.8):
- Renamed from 'PLUGIN_CODE_COMMENT' to 'PLUGIN_CODE_SW_COMMENT'.
- Removed 'javascript:'.
- 2008-03-01 08:52 nao-pon
- * language/xpwiki/en/plugin/aws.lng.php (1.1),
language/xpwiki/ja/plugin/aws.lng.php (1.1),
language/xpwiki/ja_utf8/plugin/aws.lng.php (1.1),
plugin/aws.inc.php (1.1):
- New plugin #aws that function is to show Amazon's item with ECS
4.0.
- 2008-03-01 08:48 nao-pon
- * class/func/pukiwiki_func.php (1.151):
- Added function "do_onPageWriteBefore()", "do_onPageWriteAfter()".
- Not displayed in the part that doesn't need the Wiki helper.
- 2008-03-01 08:47 nao-pon
- * skin/js/: main.js (1.40), wikihelper_loader.js (1.4), xpwiki.js
(1.9):
- Not displayed in the part that doesn't need the Wiki helper.
- 2008-03-01 08:44 nao-pon
- * plugin/rename.inc.php (1.9):
- Call "do_onPageWriteBefore()" & "do_onPageWriteAfter" on rename.
- 2008-03-01 08:40 nao-pon
- * language/xpwiki/en/plugin/conf.lng.php (1.4),
language/xpwiki/ja/plugin/conf.lng.php (1.4),
language/xpwiki/ja_utf8/plugin/conf.lng.php (1.4),
plugin/conf.inc.php (1.4):
- 2008-03-01 08:39 nao-pon
- * plugin/isbn.inc.php (1.4):
- Bugfixed, 'NOIMAGE' image is not displayed.
- 2008-03-01 08:37 nao-pon
- * class/xpwiki.php (1.73):
- Empty character is returned when there is no input on Renderer
mode.
- 2008-03-01 08:34 nao-pon
- * class/func/xpwiki_func.php (1.149):
- Supported type 'U+xx' - 'U+xxxxx' in "encode_numericentity()".
- Added function "do_onPageWriteBefore()", "do_onPageWriteAfter()".
- 2008-02-28 08:49 nao-pon
- * plugin/tag.inc.php (1.10):
- Changed Sort function from 'sort' to 'natcasesort'.
|
一行コメント
Counter: 3209,
today: 2,
yesterday: 0
Princeps date: 2008-03-02 (Sun) 00:42:35
Last-modified: 2008-03-02 (Sun) 00:42:35 (JST) (1543d) by nao-pon
Comments list
Posts tree
Post a new comment
Wikiヘルパーが表示されない場合は、JavaScript のコンフリクトが起こり、JavaScript が正常に動作していないことが考えられます。
JavaScriptエラーになっていないか、確認してみてください。また、読み込むライブラリによっては、エラーにはならないものの、正常に動作しないことがあります。例えば、Mootools、jQuery などを読み込んでいると、上手くいかないことがあるかも。
nao-ponさん
どうもありがとうございます。
問題のあるフォームのTableを止めたら、無事に送信できるようになりました。
ところで、同じく問題のフォームなどで、Wikiヘルパーの表示設定をテンプレートに追加しても表示が出ないものがあります。 (上記変更でもだめです) これもやはりhtmlタグの不整合によるものと考えられますでしょうか?
そのモジュールのフォーム画面のHTML構造を調べてみてください。JavaScriptで、DOM構造をいじっているので、再構築されるのですが、元々のHTML構造に矛盾があると再構築が上手くいかずに結果的にフォームデータがが送信されないことがあります。
例えば、次のようなHTMLだと、再構築に失敗します。(<td>と<form>が入り組んでいる)
nao-ponさん、こんばんは。
実はこのwikiヘルパー表示の件、お願いしようと思っていて時間が取れなかったため、放置していました。
追加のお願いになると思うのですが、wikiレンダーを組み込むと、モジュールによっては「テキストを折り返さない」テキストエリアのオーバーライドが原因だと思うのですが、テキストの送信がうまく行かないものがあります。(XCLのサイト+Firefoxブラウザ使用の場合にて。 X2サイトの場合は問題なかったような。。)
wikiレンダラーは組み込みたいけど、テキストエリアはオリジナルのままにしておきたい場合の対応って可能でしょうか? wikiヘルパー表示選択のように、テンプレートに記載が便利かなと思っています。