smarty中capture,literal,fetch用法

1,capture标签

capture的中文意思是抓取,它的作用是抓取模板输出的数据,当我们需要它的时候,调用它,以得到抓取数据的目的。例子:

 代码如下 复制代码
1.{capture name=test}
2.<img src=”testimg.jpg”>
3.{/capture}
4.<div class=”image”>
5.{$smarty.capture.test}
6.</div>

说明:
在{capture name=”test”}和{/capture}之间的内容被存储到变量$test中,该变量由name属性指定.在模板中通过 $smarty.capture.test 访问该变量.如果没有指定name 属性,函数默认将使用”default” 作为参数,这一点很jquery中的clone

2,config_load标签

config_load可以直接将文件中的内容读取出来,这样可以省掉assign这一步。

 代码如下 复制代码
1.test.csv:
2.pageTitle = ”config_load_test”
3.bodyBgColor = ”#eeeeee”
4.img = ”girl.jpg”
5.width=”100″
6.height=”100″
7.index.tpl:
8.{config_load file=”test.csv”}
9.<html>
10.<title>{#pageTitle#}</title>
11.<body bgcolor=”{#bodyBgColor#}”>
12.<img src=”{#img#}” width=”{#width#}” height=”{#height#}”>
13.</body>
14.</html>

上述过程中如果出现这样的问题Warning: Smarty error: unable to read resource, 请查看一下,你的test.csv是不是放在smarty的配置目录中,默认配置目录是configs

 代码如下 复制代码
1./**
2.* The directory where config files are located.
3.*
4.* @var string
5.*/
6.var $config_dir      =  ’configs’;
3,

literal标签的使用

做web开发,难免会写一些JS,jquery代码。js和jquery里面都会{}这样的符号,smarty会不会把它理解成php的变量呢?如果你不加literal标签的话,smarty肯定会把它理解变量了,加了就不会,例如:

 代码如下 复制代码
1.{literal}
2.function getAbsLeft(e){
3.var l=e.offsetLeft;
4.while(e=e.offsetParent)l+=e.offsetLeft;
5.return l;
6.}
7.function getAbsTop(e){
8.var t=e.offsetTop;
9.while(e=e.offsetParent)t+=e.offsetTop;
10.return t;
11.}
12.{/literal}

4,php标签

当你习惯了assign后,你有没有想过,在模板文件里面直接写php代码呢,我想有的时候你肯定很想吧。例如:

 代码如下 复制代码
1.{php}
2.global $result;
3.foreach($result as $key=>$value){
4.echo ”key=$key,value=>$value<br>”;
5.}
6.{/php}
5,

strip标签

strip标签去除标签内的空格和回车,这一点我觉得,做手机开发的朋友肯定用的到,因为全角空格有可能会导致整个页面错乱,甚至是一个空白页面。手机屏幕小,估计用smarty的可能性也比较小。

 代码如下 复制代码

1.{strip}
2.<div>
3.<font color=”red”>strip</font>
4.</div>
5.{/strip}
6,fetch标签

fetch标签根php的file_get_contents挺想的,都可以把文件中的内容读出来,并且是个字符串的形势

 代码如下 复制代码

1.{fetch file=”./aaaa.txt” assign=”result”}
2.{if is_array($result)}
3.<b>is array</b>
4.{else if}
5.<b>not array</b>
6.{/if}

时间: 2024-12-21 11:53:15

smarty中capture,literal,fetch用法的相关文章

PHP模板引擎Smarty中的保留变量用法分析_php实例

本文实例讲述了PHP模板引擎Smarty中的保留变量用法.分享给大家供大家参考,具体如下: 在 Smarty 中,有一些保留变量,它们是不需要 PHP 脚本去分配就可以直接使用,即不用使用 $_tpl->assign('var','value') 去分配. 1.在模板中访问页面请求的变量 {$smarty.get.user} == $_GET['user'] {$smarty.post.user} == $_POST['user'] {$smarty.cookie.username} == $_

smarty中post用法实例_php实例

本文实例讲述了smarty中post用法.分享给大家供大家参考.具体分析如下: 知道了smarty的运行原理之后,就想写个post的实现过程,以下是实现post的代码,跟独自写php代码差不多,只是多了显示文件 配置文件:conf.php 复制代码 代码如下: <?php  @header("Content-type: text/html; charset=UTF-8");  require '../libs/Smarty.class.php';  $my=new Smarty;

smarty中常用方法实例总结_php实例

本文实例总结了smarty中常用方法.分享给大家供大家参考.具体如下: 1. Smarty中foreach的index.iteration的使用 .index包含当前数组索引,从零开始. index示例 {* The header block is output every five rows *} {* 每五行输出一次头部区块 *} <table> {foreach from=$items key=myId item=i name=foo} {if $smarty.foreach.foo.i

如何在smarty中增加类似foreach的功能自动加载数据

在smarty中使用自定义插件来加载数据(见:编写Smarty插件在模板中直接加载数据的详细介绍),在使用的时候还是感觉不够方便,灵机一动就想写成类似foreach那种标签: 第一步:在Smarty_Compiler.class.php的_compile_tag函数中增加: 复制代码 代码如下: //加载数据的开始标签 case 'load': $this->_push_tag('load'); return $this->_complie_load_start($tag_args); bre

smarty模板引擎之内建函数用法

 这篇文章主要介绍了smarty模板引擎之内建函数用法,实例分析了smarty中foreach函数.if...else....if...elseif...elseif...else...等内建函数的使用方法,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了smarty内建函数的使用方法.分享给大家供大家参考.具体如下: in-build(内建),在smarty模板中,提供了很多内建的函数库,具体使用可以参考smarty中文手册chm版本. 1.foreach函数 操作数组如下:

python中sys.argv参数用法实例分析

  本文实例讲述了python中sys.argv参数用法.分享给大家供大家参考.具体分析如下: 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始,以下两个例子说明: 1.使用sys.argv[]的一简单实例 ? 1 2 import sys,os os.system(sys.argv

smarty内置函数config_load用法实例_php实例

本文实例讲述了smarty内置函数config_load用法.分享给大家供大家参考.具体如下: {config_load}用于从配置文件中,加载到配置变量.详细用法如下: 配置文件:foo.conf 说明:[Table] 和 [Customer] 表示段落名称. 复制代码 代码如下: [Table] pageTitle = "this is mine" bodyBgColor = "#eee" tableBorderSize = 3 tableBgColor = &

smarty内置函数foreach用法实例_php实例

本文实例讲述了smarty内置函数foreach用法.分享给大家供大家参考.具体如下: 输出文件:index.php 复制代码 代码如下: <?php require_once('libs/Smarty.class.php'); $smarty = new Smarty(); $smarty->setTemplateDir($_SERVER['DOCUMENT_ROOT']."/php/templates/"); $smarty->setCompileDir($_SE

linux系统中ls命令的用法

普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间:读写改变时间:源数据发生改变时间   4. ls -s 在每个文件的后面打印出文件的大小. size(大小,以K为单位)5. ls -t 按时间进行文件的排序 Time(时间)6. ls -A 列出除了"."和".."以外的文件.7. ls -R 将目录下所有的子目录的