*ページ名変更時の挙動 [#v509ac45]

-ページ: BugTrack
-投稿者: [[ちびじゃ]]
-優先順位: 低
-状態: 提案
-カテゴリー: 本体バグ
-投稿日: 2004-04-25 (日) 13:35:19
-バージョン: 

**メッセージ [#nffe3da9]
ページ名変更時に何も変えずに「進む」を押すと$is_pageがtrueになってしまいます。編集メニューの表示項目を制御している場合などに影響があります。

実害は無いです。
----
-trueになるのかfalseになるのか、どちらが正しい挙動なんでしょうか?newpageやtemplateなど、別のページに関連する物はfalseに、editやdiffなどはtrueになっていますから、falseが正しいんでしょうね。どこに原因があるか私にはわかりませんので、誰かにパスします(汗 -- [[Ratbeta]] &new{2004-09-20 (月) 11:47:15};
-おぼろげな記憶ですが、is_pageやis_freezeはまだどことなく整理されていないところがあったような気がします。そのために、デフォルトの挙動ではその問題が表面化しないものの、項目の 表示する/しない をカスタマイズしたくなった方が、意図通りの結果を得られない、という場面に遭遇することがあるのです。 -- [[henoheno]] &new{2004-09-20 (月) 12:13:58};
-編集・凍結周りの見直しをするにつれて、このような状況は少なくなって行くことでしょう。 -- [[henoheno]] &new{2004-09-20 (月) 12:14:46};
-関連: [[BugTrack/695]] -- [[henoheno]] &new{2004-09-20 (月) 13:29:24};

~
- スキンを設定する人のためのメモ~
lib/html.php
 // $Id: html.php,v 1.62 2007/05/12 14:24:42 henoheno Exp $
 (中略)
	$_page  = isset($vars['page']) ? $vars['page'] : '';
 (中略)
	// Init flags
	$is_page = (is_pagename($_page) && ! arg_check('backup') && $_page !== $whatsnew);
	$is_read = (arg_check('read') && is_page($_page));
	$is_freeze = is_freeze($_page);
これを見るに、$is_page ,$is_read ,$is_freeze は、「&page=ページ名」が設定されている((コマンドなしの時は、表示しているページ名が入っています(念のため)。他に、表面上(アドレス)には書かれていなくても、プラグイン内で値を管理していたり。))ことが大前提になります。(なければ3つともFALSE を返す)~
それに加えて、
>
-- $is_page は、「ページ名が妥当(不正文字を含まない)である」、「コマンド(プラグイン)がbackup 以外である」、
「ページ名が$whatsnew 以外である」、以上3点をすべて満たすとTRUE
-- $is_read は、「コマンド(プラグイン)がread である」((arg_check('プラグイン名') と1つのプラグインしか評価できない、複数指定するときは書き連ねる必要あり))、「ページ名のファイルがDATA_DIR に存在する」、以上2点をすべて満たすとTRUE
-- $is_freeze は、「ページ名のファイルがDATA_DIR に存在し、なおかつ#freezeが存在する」((is_freeze 関数の動作概要、たぶん間違ってない・・・ですよね))とTRUE
<
がデフォルトです。~
この3つを好みの動作になるように編集するか、新たなパラメータを書き足して((例えば、$is_edit = arg_check('edit'); として編集時にのみTRUE とか(注意:何も考えずにこの例を書いてあるので、既にある変数名とかぶっていた場合はトラブルの元になります)))、
既存のものと組み合わせてください。 --  &new{2007-05-21 (月) 19:33:39};

#comment



トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.073 sec.

OSDN