web-dev-qa-db-ja.com

smartyのスイッチケースはありますか?

Smartyを使用してWebサイトで作業しています。 Smartyでswitchケースを使用できるかどうかをウェブで検索しました。しかし、私はこれに役立つリンクを見つけることができません。

Smartyでスイッチケースを使用することはできますか?もしそうなら?

18
balanv

ドキュメントはここにあります: http://www.smarty.net/documentation

いいえ、それは不可能です(プラグインなしでは)。しかし、phpで使用して、結果を割り当てることができます。またはsmartyでは、代わりにif条件を使用できます。

8
ggzone

プラグインが気に入らない、またはインストールできる場合は、単純なif/elsifステートメントを使用することもできます。

{if $case1_as_condition}
   Case 1
{elseif $case2_as_condition}
   Case 2, etc
{else}
   Default
{/if}

http://www.smarty.net/docsv2/en/language.function.if

ご多幸を祈る
アンドレアス

4
Andreas

はい、追加のプラグインがあります: http://pynej.blogspot.co.uk/2010/02/switch-statment-for-smarty-3.html

{switch $debugItem.type}
   {case 1}
   {case "invalid_field"}
      // Case checks for string and numbers.
   {/case}
   {case $postError}
   {case $getError|cat:"_ajax"|lower}
      // Case checks can also use variables and modifiers.
      {break}
   {default}
      // Default case is supported.
{/switch}
4
Chris