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

shiro shiro @ zx.jpn.org
2006年 5月 11日 (木) 19:26:35 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



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