たまにはMTの改造などを。
最近よく下書きして後でエントリーすることが増えてきたのですが、ここで面倒くさいのが投稿日時の設定。いちいち現在時刻を手で入れていたのですが、全角で入っちゃったり、ちょっとでもフォーマットを間違えるとエラーになるし面倒です。そこでJavaScriptで入れ込むのを作ってみました。
427c427,428
< <input name="created_on_manual" id="created_on_manual" tabindex="8" value="<TMPL_VAR NAME=CREATED_ON_FORMATTED ESCAPE=HTML>" />
---
> <input name="created_on_manual" id="created_on_manual" tabindex="8" value="<TMPL_VAR NAME=CREATED_ON_FORMATTED ESCAPE=HTML>" /><input type="button" name="currentTime" value="<MT_TRANS phrase="put CurrentTime">" onclick="putCurrentTime(this.form)" />
>
これで投稿日時のテキストボックスの下のボタンが配置されます。
テンプレート /tmpl/cms/header.tmplの変更16a17
> <script type="text/javascript" src="<TMPL_VAR NAME=STATIC_URI>js/currentTime.js"></script>
JavaScriptのjsファイルを読み込む設定を追加します。
javascriptファイルの配置mt-static/js/ディレクトリに currentTime.jsを配置します。
// // putCurrentTime // 04/10/2006 by tnoma // function putCurrentTime( f ){ var now = new Date(); var year = now.getYear(); var month = now.getMonth()+1; var day= now.getDate(); if( year < 2000 ) year += 1900; if( month < 10 ) month = "0" + month; if( day < 10 ) day = "0" + day; var hour = now.getHours(); var min = now.getMinutes(); var sec = now.getSeconds(); if( hour < 10 ) hour = "0" + hour; if( min < 10 ) min = "0" + min; if( sec < 10 ) sec = "0" + sec; var currentTime = year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec; f.created_on_manual.value = currentTime; }/lib/MT/L10N/ja.pmの変更
ボタンを日本語化します。
*** ja.pm Tue Apr 11 00:09:25 2006 --- ja.pm.20060410 Tue Apr 11 00:09:19 2006 *************** *** 1820,1826 **** 'SpamLookup module for using blacklist lookup services to filter feedback.' => 'ブラックリストにより、迷惑コメント/トラックバックをチェックします。', 'To prevent lookups for some IP addresses or domains, list them below. Place each entry on a line by itself.' => 'ブラックリストのチェックから除外するIPアドレス/ドメイン (ホワイトリスト) を登録できます。複数登録する場合は、改行してください。', 'Word Filter match on \'[_1]\': \'[_2]\'.' => 'キーワードが合致しました: [_2] ([_1])', - 'put CurrentTime' => '現在時刻を設定', ); --- 1820,1825 ----
'put CurrentTime'の日本語訳を定義しました。
とまあここまでやった後にぐぐったら、先人たちが同じように改造してましたとさ(^^;
追記)プラグインが便利ですねエントリーの投稿日を公開日に自動変更するReleaseDateプラグイン