ページ下にある複製アイコンからtemplate プラグインを呼び出し、作成ボタンを押すと、
編集画面のページ上部に表示される現在のページ名が、「コピー元のページ名 の編集」と表示されてしまう。(実際は問題ないのだが、戸惑う)
?plugin=template&refer=FrontPage "FrontPage をテンプレートにして作成" ここで「作成」ボタンを押すと "FrontPage の編集" と表示されてしまうが、期待されるのは例えば "FrontPage/複製 の編集"
上の件について自力で調べた結果「lib のpukiwiki.php」に原因があるようです。
pukiwiki.php,v 1.13 で変更された「$base」関連の変更が原因のようです。
v 1.17 に以下のように追加して、個人でテストしたところ正しく表示されるようになりました。
// $Id: pukiwiki.php,v 1.17 2007/02/11 05:53:30 henoheno Exp $ (中略) // Plugin execution if ($plugin != '') { if (! exist_plugin_action($plugin)) { $msg = 'plugin=' . htmlspecialchars($plugin) . ' is not implemented.'; $retvars = array('msg'=>$msg,'body'=>$msg); $base = & $defaultpage; } else { $retvars = do_plugin_action($plugin); if ($retvars === FALSE) exit; // Done //分岐を追加 if (! isset($vars['cmd'])) { $base = isset($vars['refer']) ? $vars['refer'] : ''; } } } (以降、略)
以前のもの(pukiwiki.php,v 1.11)を参考に差し込んであるだけなので、もう少しうまい方法があるかもしれません。
詳しい理由まではわかりませんが、v 1.17 ではプラグインからのパラメータをうまく得られていないのかもしれません。
次の安定版までには修正していただけるよう、よろしくお願いします。
?plugin=attach&pcmd=upload&page=FrontPage "への添付" と表示されるが、期待されるのは "FrontPage への添付"
?cmd=map "Relation map, from" と表示されるが、期待されるのは "Relation map, from FrontPage"
- if ($is_cmd) { - $base = isset($vars['page']) ? $vars['page'] : ''; - } else { - $base = isset($vars['refer']) ? $vars['refer'] : ''; - } + $base = $is_cmd ? $page : $refer;
?plugin=unfreeze&page=SandBox "の凍結解除" と表示されるが、期待されるのは "SandBox の凍結解除"普通なら、スキンに埋め込んである「?cmd」の方を使うので、問題はない気もしますが。 -- 2007-04-19 (木) 03:03:06
if ($is_cmd) { $base = isset($vars['page']) ? $vars['page'] : isset($vars['refer']) ? $vars['refer'] : ''; } else { $base = isset($vars['refer']) ? $vars['refer'] : isset($vars['page']) ? $vars['page'] : ''; }みたいに、pageが無ければrefer(と、その逆)でもいいかもしれませんけど。 -- 2007-04-26 (木) 19:44:38