PukiWiki/1.4/ちょっと便利に/見出しごとの編集(fixed_anchor版) より移動
記事単位の編集機能を付加したついでに、html.phpに下記の1行を加えると、編集を中止したときに元の位置に戻りやすくなります。
ブラウザの「戻る」で戻ればいいんだけど、「ページの更新」を押して戻る人があとを絶たないので。
メニューの「リロード」で元に戻るというのは、訪問者にとってわかりにくく、どうしても「ページの更新」を押してしまうようだ(そもそも編集中は、上のメニューが画面の外にはずれていることが多いので、気づかない)。そのための対策でもある。
<input type="submit" name="preview" value="$btn_preview" /> <input type="submit" name="write" value="$_btn_update" /> + <a href="$script?$r_page#$s_id"><input type="button" value="$_btn_cancel" /></a><br /> $add_top <input type="checkbox" name="notimestamp" value="true"$checked_time />
ja.lngに
$_btn_cancel = 'キャンセル';
を追加。
メニューの「リロード」との違いは、元の位置に戻ることができるという点と、編集のキャンセルがわかりやすくなるという点。
<a href="$script?$r_page#$s_id"><input type="button" value="$_btn_cancel" /></a>
<input type="submit" name="preview" value="$btn_preview" /> <input type="submit" name="write" value="$_btn_update" /> + <input type="submit" name="cancel" value="$_btn_cancel" /><br /> $add_top <input type="checkbox" name="notimestamp" value="true"$checked_time />として、edit.inc.phpで、
else if (array_key_exists('write',$vars)) { return plugin_edit_write(); } + else if (array_key_exists('cancel',$vars)) { + return plugin_edit_cancel(); + } $source = get_source($vars['page']);と
+ // キャンセル + function plugin_edit_cancel() + { + global $script,$post; + header("Location: $script?".rawurlencode($post['page'])); + exit; + }を付け足したのですがIE6.0(Sleipnirですが)で上手く行きましたよ。 ---kyon 2004-10-10 22:03:52
上のだと、「プレビュー」「ページの更新」「キャンセル」の3つのボタンがくっついて並ぶので、押し間違いやすい(押しにくい)ので、ちょっと工夫を。
<textarea name="msg" rows="$rows" cols="$cols">$s_postdata</textarea> + <div style="float:right"> + <a href="$script?$r_page#$s_id"><input type="button" value="$_btn_cancel" /></a> + </div> <input type="submit" name="preview" value="$btn_preview" /> <input type="submit" name="write" value="$_btn_update" /> + <div style="clear:both"> $add_top <input type="checkbox" name="notimestamp" value="true"$checked_time /> <span style="small">$_btn_notchangetimestamp</span> + </div> <textarea name="original" rows="1" cols="1" style="display:none">$s_original</textarea>
これで「キャンセル」ボタンだけが右端に寄るので、使いやすくなります。