Smarty中的变量

来源:互联网 发布:mac语言怎变成简体中文 编辑:程序博客网 时间:2024/06/14 05:00

Smarty中变量分为三类

1、PHP分配的变量

index.php

require('./include.php');//加载Smarty初始化$smarty->assign('name','chuangrain');//php分配的变量$smarty->display('index.html');//显示index.html
index.html

<{if $name == 'chuangrain'}><{* Smarty中的函数、属性、注释*}>hello,<{$name}>!<{else}>hello,world!<{/if}>

如果是分配的数组和对象,也可以在smarty中访问

例:数组

$arr1 = array('赵','钱','孙',array('杨','孔'));$arr2 = array('zhou' => '周','zhang' => '张','wang' => '王','li' => array('chen' => '陈','xiang' => '向',),);$smarty->assign('arr1',$arr1);$smarty->assign('arr2',$arr2);

<{$arr1.0}><{$arr1[1]}><{$arr1.2}><{$arr1.3.0}><{$arr1.3[1]}><br><{$arr2.zhou}><{$arr2.zhang}><{$arr2.wang}><{$arr2.li.chen}><{$arr2.li.xiang}>
运行结果:

例:对象

class pic {public $height = '300px';public $width = '200px';}$p = new pic();$smarty->assign('p',$p);

<{$p->height}><{$p->width}>
运行结果:300px 200px

2、配置文件中的变量

使用配置文件中的变量可以通过两个"#"或者smarty中的保留变量$smarty.config.来调用

info.conf

name = "chuangrain"age = 20address = "四川"
html

<{config_load file="info.conf"}><{* 加载配置文件中的info.conf *}>name:<{#name#}><br><{* 不能将#name#写为"#name#",否则会当作字符串处理 *}>age:<{"`$smarty.config.age`"}><br>address:<{#address#}><br>
运行结果:

3、smarty保留的变量

    3.1、request变量

$smarty.get.变量名,可以获取url中变量的值(用得比较多)

$smarty.post.var     $smarty.cookies.var    $smarty.server.var    $smarty.env.var      $smarty.session.var       $smarty.request.var

    3.2、$smarty.now当前时间

<{$smarty.now}><{*返回当前时间的时间戳*}><br><{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}><{*格式化输出当前时间*}><br>
   运行结果: 

    3.3、$smarty.const.常量名

$smarty.const.常量名直接调用PHP中的常量名,不需要assign

define('CONST_STR','chuang');
<{$smarty.const.CONST_STR}>
运行结果:chuang
    3.4、$smarty.capture

1.html

<a href="#">aaaaaaaaaaaaaaaaaa</a>

<{capture name=str}><{include file="1.html"}><{/capture}><{if $smarty.capture.str}><center><h1><{$smarty.capture.str}></h1><center><{/if}>
<{capture}><{/capture}>之间的内容会放到一个变量中去,name=“变量名”,默认为default
运行结果:

    3.5、$smarty.config.变量名

$smarty.config.变量名,可以获取配置文件中的变量的值,在 2 中已有使用

    3.6、$smarty.section       $smarty.foreach

用在section和foreach循环遍历中

    3.7、$smarty.template

返回本模板的文件名


原创粉丝点击