マイメッセージに日付時刻を表示

ダッシュボードに表示した「マイメッセージ(inbox)」は、新しいイベントを表示する必要不可欠なブロックモジュールですが、メッセージがいつ発生したのかがわかりません。

inbox-20130220-020742.png

これだと、「新しい活動」があっても全然わかりません。これに日付時刻をつけて以下のようにします。

inbox-20130220-021016.png

変更するのは、blocktype/inbox/lib.php と blocktype/inbox/theme/raw/inbox.tpl の2つ。

更新履歴

Mahara 1.8.0 で動作確認。更新ファイルをまとめました。Maharaのhtdocs (config.phpがあるところ) で tar zxvf してください。

blocktype/inbox/lib.php

     67         $records = array();
     68         if ($desiredtypes) {
     69             $sql = "
     70                 SELECT n.id, n.subject, n.message, n.url, n.urltext, n.read, t.name AS type , n.ctime 
     71                 FROM {notification_internal_activity} n JOIN {activity_type} t ON n.type = t.id
     72                 WHERE n.usr = ?
     73                 AND t.name IN (" . join(',', array_map('db_quote', $desiredtypes)) . ")
     74                 ORDER BY n.ctime DESC
     75                 LIMIT ?;";

blocktype/inbox/theme/raw/inbox.tpl

     16   {elseif $i->url}
     17       <a href="{$WWWROOT}{$i->url}">{$i->subject}</a>
     18   {else}
     19       {$i->subject}
     20   {/if}
     21     </td>
            <td class="right">
              <div class="postedon nowrap">
              {$i->ctime|strtotime|format_date:'strftimedatetime'} 
              </div>
            </td>
     22 </tr>

追加コード2行目の最後の strftimedatetime は、日付の表示方法を示します。mahara.php で以下の4つがあらかじめ定義されています。PHPのstrftimeへの引数を調整しているだけなので、独自のものも作れるはず。

strftimedate2013年 02月 14日5 February 2013
strftimedateshort02/1405 February
strftimedatetime2013年 02月 14日 09:4505 February 2013, 2:15 PM
strftimedatetimeshort2013/02/14 09:452013/02/05 14:15

添付ファイル: filemahara180_date_on_inbox_20131107.tgz 263件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-11-07 (木) 00:37:22 (1472d)