更新者、更新日時を表示したい

Events happening in the community are now at Drupal community events on www.drupal.org.
s-jack's picture

全てのコンテンツタイプには、投稿画面の表示設定オプションで、作成者と日付情報の表示(作成者のユーザー名と公開日付が表示されます。)が設定できると思います。
リビジョンも管理ができることもあり、更新者、更新日時を表示するようにするには、どのような方法があるんでしょうか。

drupal.org/documentation/のコンテンツでも、Last modifiedを表示していて、便利です。
テンプレート的に表示しているだけなんでしょうか、この場合はどのようにすればできますでしょうか。

よろしくお願いします。

Comments

日付と投稿者は node.tpl.php内の $submi

qchan's picture

日付と投稿者は node.tpl.php内の $submitted から吐き出されてます。
Theme developerモジュールを使うとどこから吐き出されているかを探しやすくなりますので便利ですよ。

こういうtheme変数は themeフォルダ内のtemplate.php でOverrideする仕組みなので、$submittedを書き換えればOKとなりますね。
template.phpファイルがなければ新しく作ってください。

日本語でドンピシャの解説をされているページがありましたので、リンクを貼らせてもらいます。
node.tpl.phpの$submittedに最終更新日時を追加 | CocoaSpace

このサンプルコードの

    return t('Originally submitted by !orig_name on @created. Last updated by !rev_name on @changed.',
      array(
      '!orig_name' => theme('username', $node),
      '@created' => format_date($node->created, 'small'),
      '!rev_name' => theme('username', $user),
      '@changed' => format_date($node->changed, 'small'),
    ));

の部分を下のようにすると ”更新日 更新ユーザー” が表示されるはずです。
日本語化はインターフェースの翻訳からできます。
変更を反映するのにキャッシュのクリアが必要ですので注意してください。
特定のコンテンツタイプにだけ適用する場合は、if文の条件に && $node->type == "◯◯" などを加えるとOKです。

    return t('Last updated by !rev_name on @changed.',
      array(
     // '!orig_name' => theme('username', $node),
     // '@created' => format_date($node->created, 'small'),
      '!rev_name' => theme('username', $user),
      '@changed' => format_date($node->changed, 'small'),
    ));

モジュールで実現するなら
Submitted By がありますね。