質問箱/213

カテゴリ
サマリページの更新日時を表示する&_now;などを使うには?
バージョン1.4rc3
投稿者sha
状態完了
投稿日2003-07-14 (MON) 20:43:49

質問

ページの更新日付を表示する&_now; や &_date;, &_time; が使えるとどこかで見た覚えがあります。でも検索しても見つけることができません。しかも、確かに、ここの「練習用ページ」で動作確認することができますが、「PukiWiki 1.4」の練習ページでは動作確認することができません。どうしたら(どんなプラグインを使えば)使えるようになるでしょうか?

  • 2019-11-22 (金) 18:00:29 ←ページ更新日時が出る(ここでも確認できた)

回答

  • sha 2003-07-14 (MON) 20:47:00

    このコメントを入力する前は、上の「←ページ更新日時が出る」のところの表記は、2003-07-14 (MON) 20:46:22 だった。

  • sha 2003-07-14 (MON) 20:52:15

    これをtracker.inc.phpの「:config/plugin/tracker/~/page」にて、[_date]の代わりに使ってみたいと思っています。

  • いけちょ 2003-07-14 (MON) 21:56:20

    うちも1.4rc3を使ってますが、&nowなどが使えません

  • sha 2003-07-14 (MON) 22:24:16

    あ”、うちでも&now;が使えてませんでした。でも、now?が使えてました。pukiwiki.ini.phpのユーザ定義のところで最初から定義されていました。でも、これは日付の文字列に展開されてしまうので、ページを更新しても日付文字列が更新されることはありません。
    now?と書くと→2003-07-14 (MON) 22:25:54

  • いけちょ 2003-07-14 (MON) 22:31:01

    私は、トップで新着情報の書き込み日時で使いたかったので、now?が逆に合っているような気がしてきました。
    でも、&_nowを使うこともありそうなので、どなたか分かる方教えてください。

  • merlin 2003-07-14 (MON) 23:02:56

    pukiwiki.ini.php の ユーザー定義の所のコメント外せは出るけど、何か不具合あるかも知れませんね。

  • いけちょ 2003-07-14 (MON) 23:40:18

    あ、確かにコメントアウトしてありますが、書いてある内容はまったく一緒ですね。
    ただ、&nowはその時の時間&_nowは更新された時間という風に違うみたいですね(今気が付いた)

  • いけちょ 2003-07-14 (MON) 23:58:57

    ここで見つけましたが・・・なぜ使えないのかは分かりません・・・。

  • sha 2003-07-15 (TUE) 03:55:43

    &_now;は表示日時だったんですね。そうすると、私の意図(更新日時)とも違います。でも、&now;もnow?も、一度ファイルを更新してしまうと、日付文字列に変わってしまうので、2度目のファイルの更新の時には変化しません。むしろ、Last-Modifiedが任意の場所に書けるような&lastmodified;というようなプラグインが欲しいです。

  • にぶんのに 2003-07-16 (WED) 02:17:32

    こういった感じので良いでしょうか?>&lastmodified;

    <?php
    function plugin_lastmodified_inline()
    {
    	global $vars;
    	if (!is_page($vars["page"]))
    		return FALSE;
    	return format_date(get_filetime($vars["page"]));
    }
    ?>

    &_now; はこれでどうでしょ。

    <?php
    function plugin__now_inline()
    {
    	return format_date(UTIME);
    }
    ?>
  • reimy 2003-07-16 (WED) 04:42:51

    &_now;はインライン型プラグインにしなくてもユーザー定義で簡単にできます。PukiWiki.orgでは下記のように定義されています(1.4系専用)。

    • default.ini.php
      '&amp;_now;' => format_date(UTIME),
      '&amp;_date;' => get_date($date_format),
      '&amp;_time;' => get_date($time_format),
    • pukiwiki.ini.php
      '&now;' => format_date(UTIME),
      '&date;' => get_date($date_format),
      '&time;' => get_date($time_format),
      'now\?' => format_date(UTIME),
      'date\?' => get_date($date_format),
      'time\?' => get_date($time_format),
      '&page;' => substr($page,strrpos('/'.$page,'/')),
      '&fpage;' => $page,

    なお、&lastmodified;については、ファイルのタイムスタンプ取得がhtml.phpのcatbodyの中で行なわれているため、ユーザー定義(html.phpのmake_line_rules)よりもあとに実行される関係で、ユーザー定義ではできません。にぶんのにさんが書かれているようにインライン型プラグインで実現させる必要があります。

    PukiWiki.orgでは、下記のように&lastmod;で定義されています。

  • reimy 2003-07-16 (WED) 05:12:55

    任意のページの最終更新日時を表示できるようにしてみました。

    書式 : &lastmod;
           &lastmod(WikiName|BracketName);
    このページの更新日時 : &lastmod;
    FrontPageの更新日時 : &lastmod(FrontPage);
    質問箱/149の更新日時 : &lastmod([[質問箱/149]]);
    (相対指定も使用可能)   &lastmod([[../149]]);

    このページの更新日時 : 2012-03-25 (日) 17:20:14
    newプラグインと組み合わせ : 2012-03-25 (日) 17:20:14
    FrontPageの更新日時 : 2019-03-01 (金) 02:35:31
    質問箱/149の更新日時 : &lastmod([[質問箱/149]]);
    newプラグインと組み合わせ : &new([nodate]){date}: Invalid date string;

    <?php
    function plugin_lastmod_inline()
    {
    	global $vars;
    	global $WikiName,$BracketName;
    
    	$args = func_get_args();
    	if ($args[0]){
    		if (preg_match("/^($WikiName|\[\[$BracketName\]\])$/",$args[0]))
    		{
    			$_page = get_fullname(strip_bracket($args[0]),$vars["page"]);
    		} else {
    			return FALSE;
    		}
    	} else {
    		$_page = $vars["page"];
    	}
    	if (!is_page($_page))
    		return FALSE;
    	return format_date(get_filetime($_page));
    }
    ?>
  • sha 2003-07-16 (WED) 12:34:03

    すごい。これは便利になりそうです。どうもありがとうございます。ところで、インライン型プラグインとはどこに書けばよいのでしょうか?スキン(skin/pukiwiki.skin.ja.php)に書くことになるのでしょうか?

    • merlin 2003-07-16 (WED) 13:14:11

      lastmod.inc.php ってファイルに書いて pluginディレクトリに放りこめばいいんです。dev:PukiWiki/Plug-inの仕様をご参照ください。

    • sha 2003-07-16 (WED) 17:20:06

      了解しました。ありがとうございます。

  • reimy 2003-07-16 (WED) 21:23:48

    添付しておきます。filelastmod.inc.php

    • sha 2003-07-17 (THU) 20:18:23

      ゲットしました。ありがとうございます。

  • 削除予定: Q&Aに移動 -- 2007-04-10 (火) 02:46:59
  • 2007-04-10 (火) 02:46:59の削除予定へのリンクは、削除予定のルールに沿わないので削除しました。 -- Cocoa 2007-07-08 (日) 01:10:11

添付ファイル: filelastmod.inc.php 3229件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-03-25 (日) 17:20:14
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.330 sec.

OSDN