[PHP-users 29186] Re: Smarty で日付計算?

seidai3@gmail.com seidai3 @ gmail.com
2006年 5月 11日 (木) 19:12:39 JST


はじめまして、SHiroと申します。

> 本日と日付計算して「new」マークを表示させようと考えています。
> この場合テンプレート側で本日との差を演算して、たとえば7日以内であればnew
> を付けるというやりかたは賢くないのでしょうね?

つい最近よく似た環境で同じことをやりましたが、その時私がやった方法は、こんな感じでやりました。
物凄くベタベタなんですが。。。

$itemData['date'] にDBから取り出した日付
$itemData['title']にタイトルが入っています。


{foreach from=$itemData item=cdata}
<span class="{if strtotime($cdata.date)+(7*24*60*60) > time()}index_dateicon
{else}
index_date{/if}">{$cdata.date|date_format:"%Y/%m/%d"}</span>
<span>{$cdata.title|truncate:72:"・・・":true}</span>
{/foreach}


7日以内ならspan要素にindex_dateiconというクラスを割り当てて、そのクラスの背景にnewのイメージを貼り付けます。

.index_dateicon {
	padding-left: 22px;
	background-image: url("../img/new.gif");
	background-repeat: no-repeat;
	background-position: center left;
}
.index_date {
	padding-left: 22px;
}

テンプレート側がごちゃごちゃしますが。


-- 
SHiro <seidai3 @ gmail.com>




PHP-users メーリングリストの案内