萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 如何在smarty模板中定義變量與常量

如何在smarty模板中定義變量與常量

   定義常量非常的簡單

  方法是:

 代碼如下  

{$smarty.const.你定義的常量名}

  定義變量如何做呢?

  smarty中定義變量 .

  {*下面的這一段相當於在模板內部定義一個變量UserName*}

 代碼如下  

{assign var="UserName" value="myz"}

  這裡將顯示模板內部定義的一個變量:UserName = {$UserName}

  例子

 代碼如下  

<*assign var="i" value=0*> 
<*foreach from=$r_article item=row*> 
   <div class="scont stecont<*$i*>"> 
      <ul> 
         <*foreach from=$row item=r*> 
            <li> 
            <*$r['title']*><a href="article.php?aid=<*$r['id']*>" target="_blank">【在線閱讀】</a> <a href="<*$r['attachment']*>" target="_blank">【下載】</a> 
            </li> 
         <*/foreach*> 
      </ul> 
   </div> 
   <*$i = $i + 1*> 
<*/foreach*>

  說明

  1、模板中定義變量,例子如下:<{assign var="i" value=0}> (說明:i是整型,所以value=0,不需要加雙引號,否則會被判定為字符串類型)。

  由於foreach沒有像for那樣的計數器,所以在這裡自定義了一個計數器,在循環中計數;也可以不在模板頁定義變量,在include該模板的頁面時,傳一個變量i進來也行。

  2、關於smarty中的加運算,試了一下,smarty中不支持“++”(包括變量前++、變量後++)、“+=”的方式,所以增加1還是用“$i=$i+1“的方式。

  再看一個實例子

  代碼如下:

 代碼如下  

<!–{math equation=x x=0 assign=i}–>
<!–{section name=smartyVar loop=10 }–>
<!–{math equation=$i+1 assign=i}–>
<br />
<!–{$i}–>
<br />
<!–{/section}–>

輸出效果:

<br />
1
<br />

<br />
2
<br />
 
<br />
3
<br />
 
<br />
4
<br />
 
<br />
5
<br />
 
<br />
6
<br />
 
<br />
7
<br />
 
<br />
8
<br />
 
<br />
9
<br />

<br />
10
<br />

  注意:如果$i的初始值不是0,例如1,”math equation=x x=1 assign=i”還可以寫成”math equation=1 assign=i”,省略其中的x變量。是0時不可以省,否則會出現警告信息

  Warning: Smarty error: math: missing equation parameter

  雖然在模板中再為變量賦值不是一個好主意,但真的需要時可以按上面的方法試一下

copyright © 萬盛學電腦網 all rights reserved