您的位置:首页 > 其它

本人实习一个月经验分享(二)-------smarty模板

2009-12-16 19:19 218 查看
给大家说说我理解的smarty模板,smarty模板就是将动态和静态的分离,而不像传统的html代码和php代码写到一起的形式,前台和后台的结构不够清晰,如图下:



首先,下载smarty模板,然后将其中的libs文件复制到你的apache的documentroot指定文件夹下,最好将文件名修改为Smarty方便辨认,Smarty.class.php,这个类就是smarty的core,所有的使用的方法都是从这个类引用的

然后说下smarty的配置,首先在文件夹创建一个文件index.php,这个文件相当于动态和静态文件的结合,然后我们引入smarty.class.php这个中心类,因为我们需要在Smarty这个文件夹下分别创建四个文件夹templates ,templates_c,configs和cache 分别是模版文件夹 编译文件夹 特殊配置文件夹 和缓存文件夹,这四个是需要我们自己创建的,

创建好后,我们需要在index.php中创建一个Smarty的类,具体的代码如下:

define("BASE_PATH",$SERVER[DOCUMENT_ROOT]); //定义Smarty文件夹的路径

require_once(BASE_PATH.'/Smarty.class.php'); //加载Smarty类文件

$smarty = new Smarty(); //创建Smarty类

$smarty -> temlate_dir = "****"; // **** 为templates文件夹的路径

$smarty -> compile_dir = "****" ; // ****为templates_c文件夹的路径

$smarty -> config_dir ="****"; //****为configs的文件夹路径

$smarty -> cache_dir = "****"; // ****为cache的文件夹路径

注:temlate_dir,compile_dir,config_dir ,cache_dir 分别为Smarty类的路径,可以在smarty.class.php查到

$smarty ->$left_delimiter ="{"; //这个是模板里识别编译变量的左识别符

$smarty ->$right_delimiter ="}"//这个是模板里识别编译变量的右识别符

注:左右识别符中的即为要编译的变量

$smarty ->assign("title","smarty模板教程");

$smarty ->assign("content","欢迎学习smarty模板教程!!!");

注:assign是smarty里的一个很重要的方法,是给变量赋予值,当要赋予的值很多的时候,不需要重复的使用assign方法 那样会冗余,解决的办法是使用数组包含要赋予的变量和值,只需一个assign就可以搞定

$smarty ->display("index.tpl/html");

注:这也是个很重要的方法,是向index.php内加载index模板,模板的后缀名无限制,以易记为宜!!!

OK,配置成功了,这时在templates下创建一个index.tpl/html文件里面写如下信息:

<title>{$title}</title>

<body>

{$content}

</body>

好了,在网址输入localhost/Smarty 你就可以看到下面的信息了:

欢迎学习smarty模板教程!!!

因此,现在前台美工可以在templates写静态的模板而php程序员在index.php里添加相应的变量就好了,实现了分离的目的!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: