php—Smarty-4 (21)

Smarty函数---插件

1)  内建函数                   sysplugins              不允许修改

2)  自定义函数                   plugins                  可以修改

1、capture             捕获一段内容,但不输出

语法:

{capture name=‘var’}

内容

{/capture}

Name:将内容保存到指定的变量中

{$smarty.capture.var}

在模板中,需要反复输出的大量内容,可以考虑使用capture捕获。

2、config_load             加载配置文件

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

file:配置文件名称

section:引用哪个配置节 可选参数

引用语法:

{#var#}

{$smarty.config.var}

3、foreach,foreachelse          用于遍历数组

语法:

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

{foreachelse} 当要遍历的数组没有任何元素时,执行foreachelse后面的语句

{/foreach}

From:要遍历的数组

Item:遍历到的键值

Key:遍历到的键名

Name:为foreach语句命名

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 :循环总数

4、include  引用另一个模板文件

{include file=“file” assign=“var” [var ...]}

File:要引入的模板文件

Assign:将结果保存,但本次不输出

[var …] :可选参数,为模板文件传参

5、include_php         包含一个php文件

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

File:要引入的php文件

Assign:保存输出结果,但本次不输出

Once:是否只包含一次   true:是     false:否

这个函数在smarty2.6中是可用的,但在3.0中将这个函数移除,如果还想使用这个函数,可以引用SmartyBC.class.php这个类文件

6、insert     在模板中,执行一个php函数

语法:

{ insert name=“func”   [var ...] }

Name :被调用的php函数名

[var ...] :调用函数时指定参数  可选参数

Insert和include_php是同样的。都是2.6中的函数,在3.0中,将这个功能放到SmartyBC.class.php这个文件中了。

注意:inser引用的php函数的名称必须以insert_为前缀

7、if elseif else

{if}

{elseif}

{else}

{/if}

8、ldelim 、rdelim   模板中的 { }  的转义符

{ldelim}

{rdelim}

9、literal   literal标记中间的内容不会被smarty所解析

{literal}

……

{/literal}

10、php    可以在一对php标记中写php代码

{php}

……

{/php}

时间: 2024-10-10 15:32:13

php—Smarty-4 (21)的相关文章

深入理解JavaScript系列(21):SOLID五大原则之接口隔离原则ISP(转载)

深入理解JavaScript系列(21):SOLID五大原则之接口隔离原则ISP 前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第4篇,接口隔离原则ISP(The Interface Segregation Principle). 英文原文:http://freshbrewedcode.com/derekgreer/2012/01/08/solid-javascript-the-interface-segregation-principle/注:这篇文章作者写得

笔试算法题(21):将stack内外颠倒 & 判断扑克牌顺子

出题:要求用递归将一个栈结构的元素内外颠倒: 分析: 本题再次说明系统栈是程序员最好的帮手,但递归度较高所以时间复杂度较大,可以使用空间换时间的方法(额外数组保存栈元素,然后逆向压入): 第一层递归(清空栈元素,并使用系统栈保存):[1,2,3,4,5],栈顶元素为1,将1弹出之后,递归处理[2,3,4,5]: 第二层递归(将栈顶元素插入到栈底,同样使用系统栈保存):当[2,3,4,5]已经逆序之后,需要将1插入到栈底,所以将1作为参数传递到递归调用中,之后递归处理2和[3,4,5]: 解题:

HTML5移动开发之路(21)—— PhoneGap

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(21)-- PhoneGap 一.PhoneGap是什么 PhoneGap 是一个用基于 HTML,CSS 和 JavaScript 的,创建移动跨平台移动应用程序的快速开发框架.它使开发者能够利用 iPhone,Android,Palm,Symbian,WP7,Bada 和 Blackberry 智能手机的核心功能--包括地理定位,加速器,联系人,声音和振动等,此外 PhoneGap 拥有丰富的插件,可以

(21)解释器模式

(21)解释器模式 定义:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子. 类型:行为类模式 类图: 解释器模式是一个比较少用的模式. 解释器模式的结构 l  抽象解释器:声明一个所有具体表达式都要实现的抽象接口(或者抽象类),接口中主要是一个interpret()方法,称为解释操作.具体解释任务由它的各个实现类来完成,具体的解释器分别由终结符解释器TerminalExpression和非终结符解释器NonterminalExpression完成. l

从零开始编写自己的C#框架(21)——添加分类类型页面

页面权限与页面控件权限经过简单的调试后,终于启用起来了,以后大家添加新页面时,就必须按照本章介绍的方法,将你新增的页面注册到系统中,这样才能访问与进行相关操作. 下面讲讲如何创建一个分类类型的页面. 分类类型,顾名思义指的是按照一定规律.特点进行归类划分,放到一块的集合.我们开发时这些分类类型,经常用下拉列表来表现,如果有多级分类时,采用的是下拉树列表方式显示. 普通下拉列表 下拉树列表 下面将介绍如何从创建数据表.修改文件到权限绑定逐个步骤进行说明. 首先,我们先要创建好数据表 我们打开数据字

优化数据页面(21)——1:1的数据关系

优化数据页面(21)--1:1的数据关系 设计要点:优化数据页面.界面设计.美化exce 秀秀:哎?咱们不能总是纠结于这些小细节吧. 阿金:噢?好像你有什么伟大的设想? 秀秀:比如,数据项之间的关系应该让人一目了然. 阿金:说得对!最起码把基本关系表现出来吧,比如1:1,,1:n,n:n.. 秀秀:嗯.应该让人一眼就能把它们区分出来. 阿金:1:1最好办! 秀秀:怎么"办"? 阿金:因为数据之间是平等的,用列表的方式就行.除了标题行,其它的不用修饰. 表1   数据1:1关系 编号 成

(转载)你好,C++(21)只要天还没黑,就一直在工地干活-4.3.1 while循环:只要…就一直…

你好,C++(21)只要天还没黑,就一直在工地干活-4.3.1 while循环:只要…就一直… 4.3  循环控制语句 在现实世界中,有这样一类现象: 只要油箱中的当前油量小于油箱容量100升,就一直往油箱中加油: 一直不断地为祖国辛勤工作,只要我还活着: 公司100000位员工,每个人的工资都增加10000元: 这些现象虽然各不相同,但它们都有一个共同的特点,那就是在某个条件(只要我还活着)下,或者某个范围(所有100000位员工)内,这些动作(辛勤工作.增加10000元工资)都是循环往复重复

ThinkPHP3.2.3整合smarty模板(二)

前言:继ThinkPHP3.2.3整合smarty模板(一)之后,继续来探讨一下tp框架整合smarty模板,看到有人在群上问到怎么使用自定义的常量,今天就具体来谈谈: 一.开发一个项目,必不可少会用到很多的自定义常量,比如定义一些常量作为引入静态文件,但在smarty模板中怎么直接使用这些常量呢? 1.定义常量:如:define('__IMAGE__', __STATIC__ . '/img'),在入口文件定义或者其他文件定义这个都无所谓,若在其他文件定义,则需要引入一下; 2.在模板中使用常

泛函编程(21)-泛函数据类型-Monoid

Monoid是数学范畴理论(category theory)中的一个特殊范畴(category).不过我并没有打算花时间从范畴理论的角度去介绍Monoid,而是希望从一个程序员的角度去分析Monoid以及它在泛函编程里的作用.从这个思路出发我们很自然得出Monoid就是一种数据类型,或者是一种在泛函编程过程中经常会遇到的数据类型:当我们针对List或者loop进行一个数值的积累操作时我们就会使用到Monoid.实际上Monoid就是List[A] => A的抽象模型.好了,我们就不要越描越黑了吧

[c/c++] programming之路(21)、字符串(二)

一.for /l %i in (1,1,5) do calc 等命令行参数 1 #define _CRT_SECURE_NO_WARNINGS 2 #include<stdio.h> 3 #include<stdlib.h> 4 5 void main() { 6 /*char str[] ="for /l %i in (1,1,5) do calc"; 7 char *p = "for /l %i in (1,1,5) do calc";*