Smarty模板技术、安装以及Smarty中的变量

2012-11-5——2012-11-7
Smarty模板技术
一、什么是smarty?
1.概念:是使用php写出来的模板引擎,实现了后台逻辑。(*.php)和外在内容(前台页面)分离,将php程序员和美工设计人员进行分离,应用smarty的网站程序逻辑的改变不会影响美工页面的设计,美工设计从新修改之后不会影响到程序逻辑。
2.优点:
在比较大的项目中才得以体现,当后台数据没有变化的时候,只需一次编译。只有后台数据发生变化时页面才需重新编译。(运行速度快,缓存技术(catch),函数(插件)丰富)
3.不适合使用Smarty的地方:
(1)小项目(美工和后台程序一个人就能实现)。
(2)数据需要实时更新时。//股市行情
 
Smarty怎么用?谁在用??
  美工人员:
      1.写模板,html,css,JavaSctipt。
      2.使用Smarty表现逻辑,放变量,遍历和判断数据。
  PHP程序员:
   1.php程序员和原来一样(连接数据、图、文件)
   2.加载Smarty引擎,并创建对象。
   3.向引擎中分配变量。(分数据)
   4.显示那个模板。
Smarty使用注意事项
   1.因为我们访问是php文件,而模板是在php中包含的内容,所以在模板中使用图片,css文件,js文件,都要以访问的PHP目录为主。
   2.所有display模板时(还是include),都要以Smarty对象中指定的模板目录为基目录。
   3.如果想让各个目录下的php程序都可以加载smarty和使用smarty指定的模板和编译目录,唯一的方法就是使用绝对路径。
二、Smarty的安装
安装类似于Ecshop
只需将libs文件夹拷贝到服务器目录下即可。
templates:存放页面模板,路径任意。
templates_c:存放编译之后的页面模板。//在后台数据不发生变化时,打开网站调用的是编译之后的模板。里面的文件系统自动生成。
configs:模板所需要的特殊的配置文件。
cache:存放Smarty缓存内的模板//临时

三、
1.引用Smarty.class.php文件。
2.创建Smarty对象。
3.更改模板存放路径及编译路径(templates_dir,compile_dir)
4.修改界定符(left_delimiter,right_delimiter).
5.编写模板*.tpl(就是html)里面的数据部分用Smarty变量。
6.在php文件中用assign方法给模板中变量赋值。
7.在php文件中用display方法将数据显示到模板中。

Smarty中的变量
1.模板中变量的声明。
一般的变量:<{$name}>
数组变量:索引数组和关联数组。
      索引数组:<{$arrName[row][col]}>
      关联数组:<{$arrName.key1.key}>
对象变量:<{$obj->att}>
          <{$obj->fun()}>
2.给模板分配变量(通过php给模板中的变量赋值)
通过assign
利用foreach和section遍历数组的内容。
(1)foreach语法:处理简单数组(数组中类型一致)
<{foreach}>
语句
<{foreachelse}>
语句2
<{/foreach}>
from="将要遍历的数组"
item="当前指针指向的值"
key="当前元素键值"
name="当前循环的名称"

(2)section 遍历数组,不能遍历关联数组
语法:<{section}><{/section}>
name=该循环的名称  loop=决定循环次数的变量名称

(3)if
<{if 条件1}>
<{elseif 条件2}>
<{else 条件3}>
<{/if}>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值