1. 云栖社区>
  2. PHP教程>
  3. 正文

如何在smarty模板中定义变量与常量

作者:用户 来源:互联网 时间:2017-12-01 17:10:13

如何

如何在smarty模板中定义变量与常量 - 摘要: 本文讲的是如何在smarty模板中定义变量与常量,    定义常量非常的简单   方法是:  代码如下   {$smarty.const.你定义的常量名}   定义变量如何做呢?

   定义常量非常的简单

  方法是:

 代码如下  

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

  虽然在模板中再为变量赋值不是一个好主意,但真的需要时可以按上面的方法试一下

以上是如何在smarty模板中定义变量与常量的全部内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有其他相关内容,欢迎继续使用右上角搜索按钮进行搜索如何 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备
Apache Spark Meetup China 第1期 最全资料下载