帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

php-smarty模板使用教程(二)

————————新内容开始————————————

 

Smarty 

模板设计篇

 

四、内建函数

 

1、  capture

语法:

{capture name=‘var’}    name表示将内容保存到指定的变量中

内容

{/capture}

捕获函数之间的内容,而不是输出

输出格式:

{$smarty.capture.var}

 

2、  config_load 

{config_load  file=[file] section=[section]}

加载配置文件

F ile:要加载的配置文件名称

S ection:要加载的配置节

关于配置文件中的变量有以下两种引用方式:

{#var#}

{$smarty.config.var}

 

3、  foreach,foreachelse

{foreach from=数组 key=键 name=名称 item=内容 } 

{foreachelse} 

{/foreach}

foreach函数用于遍历数组

foreachelese函数表示当数组没有任何数据时执行的代码

F rom:要遍历的数组

K ey:遍历到的数组下标

I tem:遍历到的数组元素值

N ame:为当前的foreach命名

l  foreach 的内置变量

$smarty.foreach.name.index :索引    从0开始排列

$smarty.foreach.name.iteration  :第几次  从1开排列

$smarty.foreach.name.first :如果是第一次执行时为true

$smarty.foreach.name.last :如果是最后一次执行时为true

$smarty.foreach.name.total  :循环总次数

l  foreach 的内置变量   3.0

{foreach $myarray as $key => $value}

{$value@iteration}  当前循环是第几次

{$value@index}  循环索引

{$value@first} 第一次循环时为true

{$value@last} 最后一次循环时为true

{$value@total} 循环总次数

{/foreach} 

 

 

 

4、  include 

{include file=[file]  assign=[var] [var …]}

包含另一个模板文件

F ile:要包含的模板文件

A ssign:将要包含的文件的结果保存至指定的变量,本次不会输出

[var  … ]:可以给模板传参   名=值

在php中传递的变量可以在子模板中使用

 

 

5、include_php

{ include_php file=[file] assign=[var] once=[true|false]}

包含一个php文件

F ile:要包含的php文件

A ssign:将输出结果保存至指定的变量中

O nce:是否只包含一次

举例:

现在我想在模板中显示最新的系统时间

在smarty3.0以前,可以直接使用include_php内建函数,但是后来考虑到一些安全方面的问题,所以在smarty3.0以后,将这个功能保留到了 SmartyBC.class.php 这个文件中

 

 

6   insert

{ insert name=[func] assign=[var] [var …] } 

使用insert可以调用某个php自定义函数

function insert_func(){……}

name:要调用的函数名称 这个函数在php中必须以insert_为前缀

assign:保存输出结果

[var … ]:给要调用的函数传参

 

 

 

I nclude:内容可以被缓存

I nsert:内容永不缓存

 

7、if elseif else

语法:

{if}

{elseif}

{else}

{/if}

 

 

8、ldelim、rdelim

l  ldelim

{ldelim} :{

l  rdelim

{rdelim} :}

比如说,在页中就想输出的是{$a}原样

{ldelim}$a{rdelim}

 

9 、 literal

{literal} 

……

{/literal}

L iteral 两个标记之间的内容不会被smarty所解析

 

 

 

10、php

{php}

……

{/php}

可以在这对php标记之中加php代码

这个功以在smarty3.0中被放到了smartyBC.class.php这个文件中,如果想使用,需要引用的是该文件

现在被放到 smartyBc.class.php 类的内建函数,以后有可能是不支持的,不建议大家使用

 

 

 

11、section,sectionelse     

{section name= 名称  loop= 循环数组 ( 次数 )  start= 开始 (0) step= 步阶 (1) 

max= 最大循环次数 }
{sectionelse}   loop指定的数组没有值时

{/sectionelse}

{/section}

通过指定的数组进行循环 , 数组元素个数决定了循环次数

N ame:命名

L oop:循环数组 (这个数组元素个数决定了决数)

以上两个属性是必添的

S tart:开始索引

S tep:步长

M ax:最大的循环次数

 

 

 

 

l  section的内置变量

{$smarty.section.name.index} :索引

{$smarty.section.name.index_prev} :上一次的索引

{$smarty.section.name.index_next} :下一次的索引

{$smarty.section.name.iteration } :第几次

{$smarty.section.name.first|last} :第1次和最后一次时为真

{$smarty.section.name.total} :共循环多少次

 

12 、 strip

{strip}

……

{/strip}

去掉左右空格

 

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php-smarty模板使用教程(二)》
文章链接:https://www.admin99.cn/4575
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册