网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   X-Cart (https://www.0058.net/forumdisplay.php?f=70)
-   -   Smarty中{if},{elseif},{else}条件用法介绍 (https://www.0058.net/showthread.php?t=5160)

Herculaneum 2015-06-10 11:12 PM

Smarty中{if},{elseif},{else}条件用法介绍
 
Smarty中{if},{elseif},{else}条件用法,有需要学习的朋友可参考一下。

php Smarty模板条件选择结构if-elseif-else,{if}必须和{/if}成对出现,当然也可以使用{else}和{elseif}子句,{if}中可以使用如下修饰词:

if实例

Example 7.15. {if} statements

Code:

{if $name eq 'Fred'}
    Welcome Sir.
 {elseif $name eq 'Wilma'}
    Welcome Ma'am.
 {else}
    Welcome, whatever you are.
 {/if}

{* an example with "or" logic *}
 {if $name eq 'Fred' or $name eq 'Wilma'}
    ...
 {/if}

{* same as above *}
 {if $name == 'Fred' || $name == 'Wilma'}
    ...
 {/if}


 {* parenthesis are allowed *}
 {if ( $amount < 0 or $amount > 1000 ) and $volume >= #minVolAmt#}
    ...
 {/if}


 {* you can also embed php function calls *}
 {if count($var) gt 0}
    ...
 {/if}

{* check for array. *}
 {if is_array($foo) }
    .....
 {/if}

{* check for not null. *}
 {if isset($foo) }
    .....
 {/if}


 {* test if values are even or odd *}
 {if $var is even}
    ...
 {/if}
 {if $var is odd}
    ...
 {/if}
 {if $var is not odd}
    ...
 {/if}


 {* test if var is divisible by 4 *}
 {if $var is div by 4}
    ...
 {/if}


 {*
  test if var is even, grouped by two. i.e.,
  0=even, 1=even, 2=odd, 3=odd, 4=even, 5=even, etc.
 *}
 {if $var is even by 2}
    ...
 {/if}

{* 0=even, 1=even, 2=even, 3=odd, 4=odd, 5=odd, etc. *}
 {if $var is even by 3}
    ...
 {/if}

if elseif 实例:
Code:

{if isset($name) && $name == 'Blog'}
      {* do something *}
 {elseif $name == $foo}
    {* do something *}
 {/if}

{if is_array($foo) && count($foo) > 0}
    {* do a foreach loop *}
 {/if}

实例
Code:

<table>
            {foreach from=$users item=row}
                <tr>
                    {foreach from=$row item=col key=k}
                        {* 注意if语句与小括号(不是必须的)之间的空格,有严格的要求 *}
                        <td {if ($col == 'wjj') }style='color:red;'{elseif ($col == 'qxy')}style='color:green;'{/if}>{$k}:{$col}</td>
                    {/foreach}
                </tr>
                {foreachelse}
                    <tr><td>没有数据啊</td></tr>
            {/foreach}
        </table>

程序为$users变量赋值为如下数组:
Code:

array(
    array('name' => 'wjj','age' => '保密'),


    array('name' => 'qxy','age' => '好像比我小')

)



All times are GMT +8. The time now is 12:24 PM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.