smarty中的变量使用
在模板中输出动态数据可以用{},所以容易与css中的标签相互冲突,所以使用{literal}{/literal}标签包起来就不会用模板的解析方式解析,变量的来源有三种,用assign方法赋值,系统保留变量,配置文件中的变量
使用地址栏中的数据,也是$_GET的数据,可以用$smarty.get.变量名 来获取,定义常量可以用$smarty.const.常量名来获取
获取配置文件中的数据,配置文件中的数据格式key=value,一行一条数据,首先在控制页面中引入这个文件,用$smarty->config_dir='';值是配置文件相对于这个控制页面的相对位置,在html页面中{config_load file=''}file值是配置文件相对于这个显示页面的位置,然后用$smarty.config.配置名 进行输出
进行数据运算就在{}标签中直接进行运算
如果有多个相同的值,如果用assign方法进行赋值,就会将之前的重名变量进行重新赋值,之前的值被覆盖,可以用append方法进行赋值,参数和assign一样,如果不存在同名变量,和assign的作用一致,如果存在,就把这个变量变成数组,再将这个值追加最最后的位置
控制页面01.php
<?php
//引入smarty文件
require('../../smarty3/libs/smarty.class.php'); //实例化
$smarty=new Smarty(); // print_r($smarty);调试成功 //配置
//$smarty->template_dir='./temp';
//$smarty->compile_dir='./comp';
$smarty->setTemplateDir('./temp');
$smarty->setCompileDir('./comp');
// 赋值
$smarty->assign('name','张三'); //定义数组,传数组
$arr=array('name'=>'李四','age'=>14);
$smarty->assign('arr',$arr); //定义常量
define('HEI',8889); //引入配置文件
$samarty->config_dir='./config.php'; $smarty->display('01.html'); ?>
渲染页面01.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Smarty模板的使用</title>
<style>
{literal}p{
background:green;
}
{/literal}
</style>
</head>
<body>
下面输出姓名:<br/>
<p>{$name}</p>
下面输出数组中的内容:<br/>
<p>姓名是:{$arr.name},年龄{$arr.age}</p>
接收地址栏的信息<br/>
<p>这是第{$smarty.get.id}号</p>
输出常量的值<br/>
<p>{$smarty.const.HEI}米</p>
引入配置文件<br/>{config_load file='../config.php'}
<p>id是{$smarty.config.id},名字是{$smarty.config.name},uri是{$smarty.config.uri}</p>
</body>
</html>
配置文件config.php,名字随意起
id=1233
name=你是你谁
uri=当前文件夹
smarty中的变量使用的更多相关文章
- smarty中三种变量的访问方式
在模板中smarty有三种变量,第一种,php分配的变量,第二种配置文件里的变量,第三种,PHP全局数组里的变量,配置文件里变量的访问方式可以是{#bgcolor#},"#"必须紧 ...
- smarty获取php中的变量
{$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间邮戳.直接访问PHP ...
- Smarty中的请求变量和保留变量的使用范例
PHP中提供的超全局数组 Smarty中对应的请求变量 $_GET <{$smarty.get}> $_POST ...
- 二、Smarty中的三种主要变量
1.从PHP中分配的变量 $smarty -> assign(); 从PHP分配给模板使用的变量:动态变量 2.从配置文件中读取的变量 $smarty配置文件中的内容不是PHP读取,而是就在sm ...
- Smarty中一些标签的使用
Smarty中的标签和php中的标签不一样 foreach标签{foreach from=$goods(变量名) key='键,不带$' item='值,不带$'}中间的显示内容{/foreach ...
- Smarty中模板eq相等 ne、neq不相等, gt大于, lt小于
eq相等 ne.neq不相等, gt大于, lt小于 gte.ge大于等于 lte.le 小于等于 not非 mod求模 is [not] div by是否能被某数整除 i ...
- smarty中的修饰函数
smarty中的修饰函数: 对在模板文件中显示的数据变量进行二次修饰. 格式: {ts:变量|函数名:参数1:参数2:参数3...|函数名:参数1:参数2...} 常见的修饰函数: capitaliz ...
- smarty模板自定义变量
一.通过smarty方式调用变量调节器 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...
- Smarty中section的使用
在smarty的使用过程中,有很多时候需要将一个数组输出到模板中来处理,以下将演示如何将一个索引(index)数组和关联(assocaite)数组在页面中展现出来. 本文中假设有如下一个索引数组 1 ...
随机推荐
- MySQL UNION 与 UNION ALL 语法与用法
MySQL UNION 语法 MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中.语法为: SELECT column,... FROM table1 UNION [ ...
- python打包成exe(py2exe)
对比了几个打包工具,发现py2exe更好用一点,一个命令就可以. 1.获取 http://prdownloads.sourceforge.net/py2exe 下载python版本对应的.直接下载然后 ...
- Storm入门
Storm框架入门 1 Topology构成 和同样是计算框架的Mapreduce相比,Mapreduce集群上运行的是Job,而Storm集群上运行的是Topology.但是Job在运行结束之后会自 ...
- leetcode@ [303/304] Range Sum Query - Immutable / Range Sum Query 2D - Immutable
https://leetcode.com/problems/range-sum-query-immutable/ class NumArray { public: vector<int> ...
- IOS上的字符编码
IOS字符编码 字符编码经常能听到的有Unicode.UTF-8.GBK.GB2312.GB18030.BIG5等.这些编码方式都有什么区别呢? 其实这些编码,大体分两类:全球统一编码和各过个语种的独 ...
- Java序列化之transient和serialVersionUID的使用
package FileDemo; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IO ...
- JavaAPI之Runtime类以及bat文件开启应用程序
package OtherToolsClass; import java.io.IOException; public class RuntimeDemo { /** * @param args */ ...
- C++为QLabel增加单击事件
原文来源: http://www.cnblogs.com/findumars/p/4058379.html 原理: 其实就是改写了一个函数:mouseReleaseEvent,当在QLabel放开鼠标 ...
- Linux web工程部署远程必备软件安装
一.序 最近在将程序往linux上面部署,特此记录下部署步骤,待以后参考. web工程部署必备软件为:JDK.tomcat.数据库软件(oracle或mysql),远程监控.上传下载必备软件:VNC. ...
- jQuery插件- Autocomplete应用详解
项目中有时会用到自动补全查询,就像Google搜索框.淘宝商品搜索功能,输入汉字或字母,则以该汉字或字母开头的相关条目会显示出来供用户选择, autocomplete插件就是完成这样的功能. auto ...