关于Smarty模板的使用

1.下载好Smarty模板,解压到项目文件夹下;

如:我的项目文件夹是apache设置的根目录:c:\wamp\www;为了便于尝试,就直接新建了一个名为Smarty的文件夹,然后直接将文件解压到其中;

2.修改php.ini配置文件include_Path属性,把Smarty库文件添加进去;

注意:这里有两个indclude_Path属性,一个是修改Unix环境下的,一个是修改Linx环境的,请根据自己的需要进行修改;

如:我使用的是windows平台,添加使用了绝对路径,修改成:include_path = "C:/wamp/www/Smarty/demo/libs"。

3.分别设置好这四个文件的权限(并不是所有的都需要惊醒这个步骤,如我的就不需要):

configs:用来存放各种配置文件的;

cache:用来存放缓存的;

template:用来存放模板文件的;

template_c:用来存放编译文件的;

4.在Smarty/demo/templates中放入你需要的每个页面的模板文件:(View层)

如:我只是在做实验,做一个简单输出;我在index.tpl输入了如下代码:

<html>

<body>

hello,{$name};

</body>

</html>

5.在INDEX/Home/Control中新建的index.php文件中添加如下代码:(Controller层)

<?php

//载入Smarty库,如果在php.ini设置了include_path为C:/wamp/www/Smarty/demo/libs,那么可以直接用include("Smarty.class.php");

//另外不设置include_path,可以直接把Smarty.class.php拷到网站目录,就不用加绝对路径了。

require(‘C:/wamp/www/Smarty/libs/Smarty.class.php‘);

$smarty = new Smarty();

//下面的(你的网站目录)用绝对路径,可以用相对路径(./templates)

$smarty->config_dir=‘C:/wamp/www/Smarty/demo/configs‘; //指定(你的网站)的配置文件路径(这里我用的是绝对路径)

$smarty->cache_dir=‘C:/wamp/www/Smarty/demo/smartycache‘;  //指定(你的网站)的缓存文件路径(这里我用的是绝对路径)

$smarty->template_dir=‘C:/wamp/www/Smarty/demo/templates‘; //指定(你的网站)的模板的路径(这里我用的是绝对路径)

$smarty->compile_dir=‘C:/wamp/www/Smarty/demo/templates_c‘; //指定(你的网站)的编译文件路径(这里我用的是绝对路径)

//上面四行为使用Smarty前的必要参数配置

$smarty->assign(‘name‘,‘what is the fuck!‘); //该数的原型为assign(string varname, mixed var),varname为模板中使用的模板变量,var指出要将模板变量替换的变量名;其第二种原形为assign(mixed var),我们要在后面的例子详细的讲解这个成员函数的使用方法,assign是Smarty的核心函数之一,所有对模板变量的替换都要使用它。

$smarty->display(‘index.tpl‘); //该函数原形为display(string varname),作用为显示一个模板,这里的模板文件不用加路径,只要使用一个文件名就可以了,它路径我们已经在$smarty->templates(string path)中定义过了。

?>

时间: 2024-10-21 15:13:28

关于Smarty模板的使用的相关文章

前端学PHP之Smarty模板引擎

前面的话 对PHP来说,有很多模板引擎可供选择,但Smarty是一个使用PHP编写出来的,是业界最著名.功能最强大的一种PHP模板引擎.Smarty像PHP一样拥有丰富的函数库,从统计字数到自动缩进.文字环绕以及正则表达式都可以直接使用,如果觉得不够,SMARTY还有很强的扩展能力,可以通过插件的形式进行扩充.另外,Smarty也是一种自由软件,用户可以自由使用.修改,以及重新分发该软件.本文将详细介绍Smarty模板引擎 概述 Smarty是一个php模板引擎.更准确的说,它分离了逻辑程序和外

Smarty模板引擎技术(一)

一.Smarty模板引擎简介 什么是smarty? Smarty是采用php写的一个模版引擎,设计的目的是要将php代码与html代码分离,使php程序员只专注于php代码的编写,网页美工只专注于网页的美化 没有模版引擎时出现的问题? html中php代码比重越来越大 页面的数量越来越多 程序设计与美工设计分工不明确 传统的php文件: 1. php代码跟html混编在一起,不利于程序员和美工的分工,程序员和美工不能同时修改一个文件 2.数据的传递同一页面传递,php数据在页面中的显示需要使用p

smarty详细使用教程(韩顺平smarty模板技术笔记)

MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模板文件templates_c 存放编译后的文件再创建初始化文件smarty.ini.php 注意事项:1.替换变量的标识分隔符一般使用<{}>改动分隔符的两个方法:1.改源码:Smarty.class.php $left_delimiter 不推荐2.动态修改:$Smarty->left_d

四、smarty模板的自定义函数

smarty模板的自定义函数(这里介绍的是常用) 分为三个种类: 1.  变量调节器 2.  函数 3.  块函数 三个种类插件的用法: 1.  变量调解器的用法, <{$var|myfun:arg1:arg2}> 2.  函数的用法(和使用HTML标记很像) 如, <{myfun color=”red” size=”7” num=”7”}> 在PHP中定义的函数为: $smarty->registerPlugin(“function”,”myfun”,”one”); fun

Smarty模板引擎

Smarty模板引擎是一个完全由PHP程序写出来的模板引擎,优点如下: 速度:Smarty模板引擎相比其他的模板引擎速度更快 继承技术:在Smarty里面可以定义一个父模板,让子模板来继承父模板 缓存技术:可以让一个不怎么变化但是偶尔会变化的页面缓存起来.下一次客户端请求的时候直接将缓存文件给它

smarty模板基础2

Smarty自带了一些内置函数,这些内置函数是Smarty模板引擎的组成部分.他们被编译成相应的内嵌PHP代码,以获得最大性能. 您创建的自定义函数不能与内置函数同名,也不必修改这些内置函数. 其中一些具有assign属性,用来收集函数结果,并将结果分配给一个命名的模板变量,而不是将内容输出,类似于{assign}函数. 一.{if}{elseif}{else} 条件 随着一些特性加入到模版引擎,Smarty的{if}语句与php的if语句一样富有弹性.每一个{if}必须与一个{/if}成对出现

smarty 模板几个例子

一.assign和display方法的使用以及几个变量调节器 header("content-type:text/html;charset=utf-8");//加载Smarty引擎文件include "./smarty/Smarty.class.php"; //连接数据库,提取相关数据$title = "Smarty 模板引擎";$content = "Smarty 模板引擎Smarty 模板引擎Smarty 模板引擎"; /

smarty模板引擎基础(二)

smarty模板引擎所需文件夹共可分为存放页面缓存的(cache).存放配置文件的(configs).存放模板扩充插件的(plugins).存放模板文件的(templates).存放编译后的模板文件的(templates_c).存放后端程序代码的(main); 一.configs文件夹:即保存一些与页面配置有关的相关代码,可以用[]来进行模块分类 ,以conf格式保存,可用记事本打开查询,在页面中的调用指令为 <{config_load file='文件名' section="模块名&qu

smarty模板学习备忘

smarty模板引擎.基于MVC开发,实现m.v的分离. assign.display.template.template_c等名词的意思. 引入smarty核心类文件.这个类作用实际就是把一些模板文件的标签翻译成php代码.然后交给web服务器. 翻译的过程,display()这个函数,利用了正则去解析模板标签. 补充一个正则替换的例子. <?php $str = "123abc888dd001cc";// 把三个数字的前边和后边加上== echo preg_replace('

[smarty] 在smarty模板中使用smarty变量初始化 javascript 变量的问题

// 总结:// 1/ 在smarty 模板文件中,使用从php中assign过来的smarty变量,一定需要使用双引号或单引号来括住smarty变量,如:var title="<!--{$title}-->";// 2/ 如果不使用引号括住,在smarty变量值为字符串的情况下,那么该字符串在javascript中会被作为javascript变量来解释,所以就会产生错误.// 3/ 变量值是数字,那么则不会产生错误// tpl 文件 <script> if(n