Movable Type :: エントリの出力ファイル名に連動した小画像をTOPに表示するphpスクリプト
トップページを変えてみました。こんなかんじで。ところで、みなさんはMovable Typeを使うとき、エントリの出力ファイル名をどのようにしていますか?
デフォルトの状態でお任せコースにしておくと、エントリ名に英数字が含まれればそれを優先してファイル名に使う、日本語しか含まれていなければ "post" ナントカっていう名前が勝手に割り振られます。アレっていまいちイヤです。わかりにくいし醜悪。てわけで、私がよく使うのが、投稿の日時+秒数というものです。2007年6月10日13時24分56秒に投稿されたエントリには、"20070610132456.html" というファイル名が勝手につくように設定するには、設定→公開のところにある出力フォーマットのファイル名を以下のようにします。
%y%m%d%h%n%s%x
この%ナンチャラというヤヤコシそうな文字列についてはMovable Typeのマニュアルの↓
下のほうにある『付録』の項目の『日付フォーマット・アトリビュート』のページに詳しく載っています。ちなみにこの付録の周辺はなかなか便利なものが揃っていて「あ、こんなのあったのか」といまでも発見したりします。マニュアル読まないときが多いので、たまに読むとトクしたきぶんになります。
んで、上に述べた%yナンチャラっていうのを出力ファイルに指定しとくと"20070610132456.html"みたくな出力ファイル名になってくれるわけですが、今回、コレを使ってTOPページに表示される100x100pxの画像を出すのをphpで書いてみました。こんなかんじで↓
このコードをインデックステンプレートの<MTEntries>〜</MTEntries>内の画像を表示したいぶぶんに書いとく。DOCUMENT_ROOTにある "icon-pic" というディレクトリに、出力ファイル名に合わせた名前の画像ファイル、たとえば "20070610132456.gif" なんていうのをつくって入れとくとそれを表示します。gif/jpg/pngの拡張子を持つファイルを探して、なければ "no-pic.gif" という画像を代替表示します。ファイル名を間違えてアプしてしまったりしても代替画像が出るのでバッテンになりません。
ちなみにこれはMTタグを変数に代入してるので、ダイナミックパブリッシングには使えません。スタティックのみです。こういうやり方もありますよという話でした。
このエントリーのトラックバックURL:
http://blog.3ot.net/ping/925
