3

現在の曜日に基づいて、別の文字列を印刷したいと思います。何かアドバイス?

私はこれで正しい軌道に乗っていますか:

{if $current_timestamp|date_format:"%A" == 'Monday'}
    Monday
{elseif $current_timestamp|date_format:"%A" == 'Tuesday'}
    Tuesday
{elseif $current_timestamp|date_format:"%A" == 'Wednesday'}
    Wednesday
{elseif $current_timestamp|date_format:"%A" == 'Thursday'}
    Thursday
{elseif $current_timestamp|date_format:"%A" == 'Friday'}
    Friday
{else}
    Weekend
{/if}

これは現在私のために働いていますが、もっと効率的な方法があるかどうか疑問に思っていました。

PS 曜日の名前は出力しません。これは単なる例です。

4

1 に答える 1

5

値を「キャッシュ」することを学ぶ必要があります。

{assign var="weekday" value=$smarty.now|date_format:"%u"}
{if $weekday == 1} Monday
…
{elseif $weekday == 7} Sunday
{/if}
于 2012-08-22T06:37:09.930 に答える