«Mozilla拡張CSSについて| メイン |優しいデザイン - マタニティマーク»
2007年07月13日
PHPで新規エントリーにNewアイコンを一定期間表示する方法
PHPスクリプトを使ったMTのカスタマイズをご紹介。
スクリプト自体は参照先のMovableType備忘録様で作成されたものです。
PHPで新規エントリーにNewアイコンを一定期間表示する方法
今回行ったカスタマイズはPHPを用いて新規エントリーにNewアイコンを一定期間表示するというものです。
PHPを使用するにあたってはMTのPHP化が必要になります。
PHP化については小粋空間: Movable Type の PHP化(その1)を参照して見て下さい。
そんなに手間のかかるものではありません。
続きは以下からどうぞ。
参照元記事
MovableType備忘録: PHPで新規エントリに「NEW」イメージを期間表示させる
PHPスクリプトの作成
作成と書きましたが実際には下記ソースをコピーペーストで問題ありません。
<head>~</head>の間に記述して下さい。
function print_new($entry_date,$days=3)//初期値
{
$result=date("Ymd", mktime( 0,0,0,date("m") ,date("d") - $days, date("Y")));
//$resultに$daysを引いたmktimeをセット
if ( $entry_date >= $result )
//$entry_dateと$resultの比較
print "<img src=\"<$MTBlogURL$>img/new_ico.gif\">";//プリント文でイメージタグをはき出す
}
?>
「”」の前の「¥」でエスケープしています。
コメントアウト部分(青字)ですが、間違いがありましたらご指摘下さい。
色々調べて書いていますが、まだ自信をもってアウトプットできるレベルではありません。
では何故書いているかというと間違えを恐れるあまり思考のアウトプット速度を遅くしていませんか?:DESIGN IT! w/LOVEに触発されているからです。
mktime()は引数で指定された時間をUNIX時間 (1970年1月1日0時からの経過秒数) で返します。
書式は以下のようになります。
テンプレートとしてモジュール化
このPHPスクリプトを複数ページで使う場合は修正の事も考えて
テンプレートとしてモジュール化する事をお勧めします。
- MTのインデックステンプレート作成画面で「テンプレートを新規作成」
- PHPスクリプトを貼り付け任意の名前を設定(拡張子がphpならOK)
次に表示させたいページの<head>~</head>部分に以下のコードを追加します。
include関数で外部ファイルを読み込んでいます。
ファイルが無い場合エラーが出てしまうので先にテンプレートを作成してから記述して下さい。
あとは実際に画像を表示させたい場所に以下のコードを貼り付ければOKです。
青字部分がエントリー投稿から画像を表示している日数です。
ここは自分の投稿頻度に合わせて調整して下さい。
PHPの事はまだ勉強し始めたばかりで記事にするのが大変です。
Posted by ; k. 2007年07月13日 00:57
このエントリーのタグ
このカテゴリーの最新記事
トラックバック
このエントリーのトラックバックURL:
http://blog.caraldo.net/mt/mt-tb.cgi/8

