在模板中输出动态数据可以用{},所以容易与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中的变量使用的更多相关文章

  1. smarty中三种变量的访问方式

    在模板中smarty有三种变量,第一种,php分配的变量,第二种配置文件里的变量,第三种,PHP全局数组里的变量,配置文件里变量的访问方式可以是{#bgcolor#},"#"必须紧 ...

  2. smarty获取php中的变量

    {$smarty}保留变量不需要从PHP脚本中分配,是可以在模板中直接访问的数组类型变量,通常被用于访问一些特殊的模板变量.例如,直接在模板中访问页面请求变量.获取访问模板时的时间邮戳.直接访问PHP ...

  3. Smarty中的请求变量和保留变量的使用范例

    PHP中提供的超全局数组 Smarty中对应的请求变量 $_GET               <{$smarty.get}> $_POST                         ...

  4. 二、Smarty中的三种主要变量

    1.从PHP中分配的变量 $smarty -> assign(); 从PHP分配给模板使用的变量:动态变量 2.从配置文件中读取的变量 $smarty配置文件中的内容不是PHP读取,而是就在sm ...

  5. Smarty中一些标签的使用

    Smarty中的标签和php中的标签不一样 foreach标签{foreach   from=$goods(变量名) key='键,不带$' item='值,不带$'}中间的显示内容{/foreach ...

  6. Smarty中模板eq相等 ne、neq不相等, gt大于, lt小于

    eq相等   ne.neq不相等,   gt大于, lt小于 gte.ge大于等于   lte.le 小于等于   not非   mod求模   is [not] div by是否能被某数整除   i ...

  7. smarty中的修饰函数

    smarty中的修饰函数: 对在模板文件中显示的数据变量进行二次修饰. 格式: {ts:变量|函数名:参数1:参数2:参数3...|函数名:参数1:参数2...} 常见的修饰函数: capitaliz ...

  8. smarty模板自定义变量

    一.通过smarty方式调用变量调节器 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &quo ...

  9. Smarty中section的使用

     在smarty的使用过程中,有很多时候需要将一个数组输出到模板中来处理,以下将演示如何将一个索引(index)数组和关联(assocaite)数组在页面中展现出来. 本文中假设有如下一个索引数组 1 ...

随机推荐

  1. Java类的生命周期详解

    引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告 ...

  2. Android实例-拍摄和分享照片、分享文本(XE8+小米2)

    结果: 1.分享文本不好使,原因不明.有大神了解的,请M我,在此十分感谢. 2.如果想支持图片编辑,将Action事件的Editable改为True. 相关资料: 官网地址:http://docwik ...

  3. elecworks 报表----按线类型的电线清单

    按线类型的电线清单中:列Wire number指的是线标注,不是电位标注 section:截面积

  4. _doPostBack用法总结

    转载在以下两篇博客: http://www.cnblogs.com/yongtaiyu/archive/2011/05/13/2045746.html http://www.cnblogs.com/F ...

  5. 利用HTML5 Geolocation API在百度地图中显示你的位置

    代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <met ...

  6. MSSQLSERVER数据库- 慎用SELECT INTO复制表

    很多时候我们习惯于用SELECT INTO复制一个表或表结构,因为它方便,快捷,而且在某些情况下效率比INSERT INTO 效率要高一些.但是要注意: SELECT INTO 复制表或表结构的时候, ...

  7. DNS服务未响应的简单解决办法

    今天晚上下班回家,打开电脑,发现打不开网页了,同一个wifi环境下,我的手机是可以连接上的,网上搜了一大推,又是重启服务,又是重新填写dns服务地址,都不管用, 该怎么办呢??. 其实发现很简单,打开 ...

  8. 【49】了解new_handler的行为

    1.使用operator new无法获取内存时,对于旧式编译器,会返回一个null指针.对于新式编译器,会抛出一个异常. 2.考虑下面的需求,当operator new 无法获取内存时,程序员期望获得 ...

  9. 【01】视C++为一个语言联邦

    1.C++是个多重范型编程语言:面向过程,面向对象,函数编程,泛型形式,元编程形式. 2.C++是一个语言联邦,包括四个次语言: a.C语言,C++以C语言为基础.但C语言有下列局限:没有模版,没有异 ...

  10. 手机端overflow scroll卡顿的情况

    在容器里设置或者html,body{-webkit-overflow-scrolling: touch;}