お知らせ:
MovableType3.2および、BigPAPIに対応したプラグインとして、ボタン追加のためのプラグイン[ UpdateAuthoredOn ]を紹介しています。下記情報と全く同じになる、カスタマイズ版も載せてありますので、よろしければどうぞ。
NOBODY:PLACE – MUTTER: 「作成日時」を更新するボタンを追加するプラグイン(UpdateAuthoredOn改造編)
『自分だけの編集ボタン』でお世話になった
alectropeさんのところで、
以下のようなエントリーを発見して驚愕。目鱗。キャー。
「作成日時」を更新するボタン追加 | alectrope
上記記事内でもおっしゃってますが、エントリ作成時間てのは意外と融通が利かないもの。
新規エントリ作成してから書き上げるのに時間が掛かったり、
下書きにしておいたネタを整形することがあったり、
この時間を現在時刻に直す作業ってのは、日常、結構頻繁に行う。
それを、JavaScriptを使ってボタンひとつで実装しようじゃないか、というのがこのアイディア。
そうなんですよ、まったく。
いちいち、時とか分とか、チマチマ直してらんないんです。
詳細は上記記事を参考に…といいたいところなんですが、
alectropeさんはMT2.661を使用されていて、MT3xとは該当テンプレが微妙に違う。
なので、若干変更を加えつつ(でも本線は同じ)、実装してみました。
[1] まず、/tmpl/cms/edit_entry.tmpl を開く。
基本ですが、バックアップは取っておいてください。『名前を変えてダウンロード』でもしておけば可。
[2] ボタンを作成する。
テキストエディタで開いて、
created_on_manualで検索を掛けると、276行目辺りがヒットします。
ここはどこか、というと、エントリー投稿画面の、作成日時、の部分。
ここに、
<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>” /><br />
<input onClick=”nowDate()” type=”button” value=”Now” />
に変更します。
(XHTMLなので、inputタグ終わりの/を忘れないように)
[3] 次に、JavaScriptを追加する。
同ファイルの上部、<script>~</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;
}
以上で準備OK。
エントリー投稿画面にアクセスして、以下のように表示されていれば完成。
NOWを押してやれば、現在時間が、テキストフィールドに入力されます。
いやー便利。
続きを読む