smartyでよく使いそうな自作プラグイン3-新着にNew!をつける

| | コメント(0) | トラックバック(0)
What's newとかニュースとかそういうのに掲示日付から〇日以内のものにNewマークとかをつけるやつ。



 modifier.add_new.php
<?php
function smarty_modifier_add_new($string, $newText, $term=7)
{
    if(!$string){
        return '';
    }
    $date = new Zend_Date($string);
    $now = new Zend_Date(null,'yyyy-MM-dd');
    $now->sub($term, Zend_Date::DAY);
    if($now->compare($date) == 1){
        return $string;
    }else{
        return $string.$newText;
    }
}

こういう風につかう。
<{$topic.topic_date|date_format:"%Y.%m.%d"|add_new:" <font color=red>new!</font>":3}>
↑はNew!を出すのが、掲示日付から3日の場合。new!の部分はHTMLタグを入れても大丈夫。fontタグ使うなよ、とか言わないで。

すると、条件に当てはまればこんな感じに。
2009.02.13 new!

あんまいろんなインプットやアウトプットのパターンを想定していないから、合わないシチュエーションもあるかもしれないけど、別に複雑なコードじゃないからちょこっといじれば対応できると思われ。
こんなの公開するまでもないと思ったけど、シリーズものだから。数が欲しいから。



トラックバック(0)

このブログ記事を参照しているブログ一覧: smartyでよく使いそうな自作プラグイン3-新着にNew!をつける

このブログ記事に対するトラックバックURL: http://hirop0164.s326.xrea.com/mt/mt-tb.cgi/262

コメントする


画像の中に見える文字を入力してください。

ブックマーク

はてなブックマークに追加 Yahoo!ブックマークに登録 del.icio.us に登録 ライブドアクリップに追加 Google Bookmarks に追加

Ajax: 2009年5月: 月別アーカイブ

このブログ記事について

このページは、ぴろしが2009年2月16日 16:27に書いたブログ記事です。

ひとつ前のブログ記事は「Zend Frameworkでgoogle geocoding」です。

次のブログ記事は「new Zend_Date()で[notice] child pid xxxx exit signal Segmentation fault (11)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。