程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 如何在smarty模板中定義變量與常量

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

編輯:關於PHP編程

       定義常量非常的簡單

      方法是:

     代碼如下  

    {$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

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

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved