【MovableType】投稿日時の更新ボタンを追加
Movable Typeのカスタマイズです。
エントリー投稿画面で、「投稿日」の欄がありますが、ここに表示される日時は、エントリーを「投稿」したときではなく、新規エントリー投稿画面を「開いた」日時になっています。
ですので、正確には「投稿日時」にはなりません。エントリーの編集時間によっては大きな時間差が生じてしまいます。正確にするには、エントリーを書き終わり、「いざ投稿ぞ」というときに手動で修正するしかありません。
それをボタンひとつで行おう、というのが本カスタマイズです。大変便利ですので、この点が気になっていた方はぜひご参考にされてください。
なお、こちらのサイトさんを参考にさせていただきました。ありがとうございました!
エントリーの「作成日時」を更新するボタン – Luna’s*PaPa – とあるパパの育児生活奮闘記 –
では、私の環境での方法をば。ヴァージョンは、[3.2-ja-2]です。
[mt] – [tmpl] – [cms] – [edit_entry.tmpl] を修正します。テクストエディタなどで開いてください。
427行目あたり
(”created_on_manual”を検索すればすぐ見つかります。)
<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” size=”25″ id=”created_on_manual” tabindex=”8″ value=”<TMPL_VAR NAME=CREATED_ON_FORMATTED ESCAPE=HTML>” />
<input onClick=”nowDate()” type=”button” value=”Now” />
そして、<script> ~ </script> のあいだに以下のソースを追記します。
私は、[edit_entry.tmpl] の最初の長いscript記述部分の最後に挿入しました。
<!– 更新時刻を現在の時刻にするボタン –>
function nowDate() {
dat=new Date();
yea=dat.getFullYear();
mon=dat.getMonth() + 1;
day=dat.getDate();
hou=dat.getHours();
min=dat.getMinutes();
sec=dat.getSeconds();
if(mon<10){mon=”0″+mon;}
if(day<10){day=”0″+day;}
if(hou<10){hou=”0″+hou;}
if(min<10){min=”0″+min;}
if(sec<10){sec=”0″+sec;}
document.entry_form.created_on_manual.value=yea + “-” + mon + “-” + day + ” ” + hou + “:” + min + “:” + sec;
}
最後に、[edit_entry.tmpl] をアップロード・上書きすれば終了です。
上記の通りにやると、投稿日欄の下に”Now”という修正ボタンが表示されると思います。ぜひそれでナウい日時にされてください。
Response
-
現在、この投稿へのコメント/トラックバックは受け付けていません。