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

Smarty

模板设计篇

四、内建函数

1、 capture

语法:

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

内容

{/capture}

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

输出格式:

{$smarty.capture.var}

2、 config_load

{config_load file=“file”section=“section”}

加载配置文件

File:要加载的配置文件名称

Section:要加载的配置节

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

{#var#}

{$smarty.config.var}

3、 foreach,foreachelse

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

{foreachelse}

{/foreach}

foreach函数用于遍历数组

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

From:要遍历的数组

Key:遍历到的数组下标

Item:遍历到的数组元素值

Name:为当前的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 ...]}

包含另一个模板文件

File:要包含的模板文件

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

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

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

5、include_php

{ include_php file=“file” assign=“var” once=“true|false”}

包含一个php文件

File:要包含的php文件

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

Once:是否只包含一次

举例:

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

在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…]:给要调用的函数传参

Include:内容可以被缓存

Insert:内容永不缓存

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}

Literal 两个标记之间的内容不会被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}

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

Name:命名

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

以上两个属性是必添的

Start:开始索引

Step:步长

Max:最大的循环次数

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}

去掉左右空格

php smarty使用,php-smarty模板使用教程(二)相关推荐

  1. Smarty中文手册,Smarty教程,Smarty模板的入门教材

    Smarty中文手册,Smarty教程,Smarty模板的入门教材 首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点.对他们的无私奉献精神,我们表示感谢, ...

  2. php smarty模板教程,PHP smarty模板入门教程

    include("./www.111com.net/libs/smarty.class.php");  //包含smarty类文件 $smarty = new smarty();  ...

  3. smarty半小时快速上手入门教程

    本文讲述了smarty快速上手入门的方法,可以让读者在半小时内快速掌握smarty的用法.分享给大家供大家参考.具体实现方法如下: 一.smarty的程序设计部分: 在smarty的模板设计部分我简单 ...

  4. php yaf smarty,Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf + Smarty)

    Yaf 结合用户自定义的视图(模板)引擎Smarty(Yaf + Smarty) 来源:互联网 作者:佚名 时间:2015-08-06 07:55 对完成某个任务进行计时可使用progress_tim ...

  5. Smarty模板技术学习(二)

    本文主要包括以下内容 公共文件引入与继承 内容捕捉 变量调剂器 缓存 Smarty过滤器 数据对象.注册对象 与已有项目结合 公共文件引入与继承 可以把许多模板页面都用到的公共页面放到单独文件里边,通 ...

  6. php smarty变量调节器,Smarty模板变量与调节器实例详解

    本文实例讲述了Smarty模板变量与调节器.分享给大家供大家参考,具体如下: Smarty中assign说明 可能有人在学习smarty的时候已经学习了一些php框架,如tp.laravel.Yii等 ...

  7. php smarty安装,php smarty 安装 、配置、使用 及缓存cache的配置使用

    cache 使用: cache配置: $smarty->cache_dir = "/caches/";  //缓存目录 $smarty->caching = true; ...

  8. php smarty 分页类,Smarty分页类Smartypaginate

    不罗嗦了,直接上范例 function.paginate_first.php.function.paginate_last.php.function.paginate_prev.php.functio ...

  9. php smarty php函数,smarty中使用php函数的方法

    本节内容: 如何在smarty中使用php函数? 例子: 复制代码 代码示例: /** * smarty模板引擎中使用php函数 * by www.jbxue.com */ require 'libs ...

最新文章

  1. AgentJob--修改操作系统时间对Job的影响
  2. 反编译华为U8825D“framework-res.apk”出现的错误提示(1)
  3. Software Testing Homework03:
  4. JTextArea Demo
  5. 计算机硬件结构中负责识别,计算机硬件基本结构树状图
  6. 终于有人把内卷和囚徒困境讲明白了
  7. DWR2学习笔记(一)
  8. C语言格式化读写文件
  9. mysql升级_MySQL数据库怎么升级 MySQL数据库升级教程
  10. 激活Window和office工具
  11. 单片机3x3矩阵键盘c语言,C51单片机的3*3矩阵键盘程序
  12. python绘制中国_用Python画中国地图(下)
  13. Android 音量控制
  14. Word转图片的方法(两种)
  15. Python数据字典处理Excel,并统计总数,画出饼图
  16. Android 手机截屏
  17. Canvas-lms 开源在线学习管理系统源码部署(生产版)
  18. 文件监控脚本 -- Linux bash
  19. 手机版会员中心html,会员中心.html
  20. 2个动作,让研发效率提升120%,代码减少50%

热门文章

  1. Python居然还能用来算命?不信?那我给你算一下!
  2. 一个简单的PE感染病毒
  3. web前端几个小知识点笔记
  4. 中南大学2016考研复试分数线(已公布)
  5. VS2015 Android SDK 下载和更新失败的解决方法
  6. 【Vue3】 2.1声名式渲染 VS 定义变量
  7. (MATLAB/C/Python)快速中值滤波
  8. 32位微型计算机原理接口技术及其应用,32位微型计算机原理·接口技术及其应用...
  9. 用户反馈流程:评价、评论流程
  10. 关于RDP协议的分析(一) - Linux论坛 - 计世网论坛 - Powered by Discuz!