バージョン | 1.4 |
---|---|
投稿者 | sha |
状態 | 完了 |
投稿日 | 2003-07-13 (SUN) 19:21:11 |
今の&newプラグインは、引数に日時を書いて現在との日時との差に応じてNEW!とか表示してくれますが、あるページに&newを置いて、別のページの新しさに応じて新しさを表示して欲しいです。
&new{ページ名};
【使い方】
これを例えばFrontPageに、「ページ名」で示されるページへのリンクを置いて、そのそばに&newを置いておきます。もし、そのページが更新された場合に、「ページ名NEW!」のように表示したいと考えています。
こんな機能の&newがあればすぐにでも使いたいです。
dev:BugTrack/422にアクセスできないので、こちらに書いておきます。new.inc.php をこんな感じで修正してみて下さい。 &new(ページ名); と記述します。
$args = func_get_args(); $date = array_pop($args); + if ((($timestamp = strtotime($date)) === -1) or ($date == "")) - if (($timestamp = strtotime($date)) === -1) { + $chkpage = array_pop($args); + if(!is_page($chkpage)) return FALSE; + $timestamp = filemtime(get_filename($chkpage)); + $retval = ""; } + else + { $retval = htmlspecialchars($date); + }
これ自体はうまくいってそうなのですが、また悩ましい状態に出くわしました。MenuBarに#includesubmenuを記載し、SubMenuに、この&new(ページ名);を記載していたのですが、FrontPageを一旦編集にして更新しないと、この&newが更新されません。どうしたものでしょうか?
もう一つ。下の階層のページ(例えば、「ページ名/3」など)が更新されたときにも、&new(ページ名);でNEW!と表示されて欲しいのですが、どうしたらよろしいでしょうか?
&new(ページ名/*);で「ページ名/3」などが更新されたものをチェックできるようにしたものをdev:BugTrack/422に挙げておきました。