Smarty是一款PHP官方支持的模板,有点小复杂。
重要的是LIBS这个目录,以及在数据文件中,对“templates”,“templates_c”,“configs”以及“cashe”四个目录的设定;什么地方可以放模板,什么地方可以放数据,确实让开始学习的我头痛了一番。
比如,我要写一个 HelloWorld 程序,步骤如下:
1. 到 SMARTY 下载稳定的SMARTY包。
2. 在APACHE相应目录下面,新建一个文件夹:“helloworld”。
3. 将下载下来的smarty包内的“libs”文件夹完完全全的拷贝到“helloworld”文件夹。
4. 接下来就是最最恶心的一步了,你需要在“helloworld”手工新建四个文件夹:“cashe”、“configs”、“templates”,“templates_c”(不要修改文件夹名称),这四个文件将与“libs”文件夹并行。
5. 我们接着写一个模板文件,是的,它必须安放在“templates”文件夹下面(不要问我为什么,其实我也不知道~),你可以将它命名为index.tpl,或者index.html,推荐前者(smarty的模板格式,虽然我觉得其内容和html没有什么区别),输入如下代码:
1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2. <html>
3. <head>
4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
5. <title>Smarty</title>
6. </head>
7. <body >
8. {$hello_templates}
9. </body>
10. </html>
2. <html>
3. <head>
4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
5. <title>Smarty</title>
6. </head>
7. <body >
8. {$hello_templates}
9. </body>
10. </html>
6. 接着,我们需要写一个数据文件,这个才是重头。在“helloworld”根目录下面,新建一个index.php文件,写入如下代码:
1. <?php
2. //引用类文件
3. require '/libs/Smarty.class.php';
4.
5. $smarty = new Smarty;
6.
7. //设置各个目录的路径,这里是安装的重点
8.
9. $smarty->template_dir = "templates";
10.
11. $smarty->compile_dir = "templates_c";
12. $smarty->config_dir = "config";
13. $smarty->cache_dir = "cache";
14.
15. //smarty模板有高速缓存的功能,如果这里是true的话即打开caching,但是会造成网页不立即更新的问题,当然也可以通过其他的办法解决
16. $smarty->caching = false;
17.
18. //赋值
19. $smarty->assign("hello_templates","Hello World!");
20.
21. //引用模板文件,注意这里的index.tpl路径,不是真实的路径,不用写成/templates/index.tpl样式
22. $smarty->display('index.tpl');
23.
24. ?>
2. //引用类文件
3. require '/libs/Smarty.class.php';
4.
5. $smarty = new Smarty;
6.
7. //设置各个目录的路径,这里是安装的重点
8.
9. $smarty->template_dir = "templates";
10.
11. $smarty->compile_dir = "templates_c";
12. $smarty->config_dir = "config";
13. $smarty->cache_dir = "cache";
14.
15. //smarty模板有高速缓存的功能,如果这里是true的话即打开caching,但是会造成网页不立即更新的问题,当然也可以通过其他的办法解决
16. $smarty->caching = false;
17.
18. //赋值
19. $smarty->assign("hello_templates","Hello World!");
20.
21. //引用模板文件,注意这里的index.tpl路径,不是真实的路径,不用写成/templates/index.tpl样式
22. $smarty->display('index.tpl');
23.
24. ?>
如果出现找不到文件:可能是如下变量设置或者默认设置有问题:
$tpl->template_dir = "./aaa";//修改到aaa目录,默认是templates,这个aaa和templates是一个层级的,然后放入模板文件即可!
echo $tpl->template_dir;
echo $tpl->config_dir ;
echo $tpl->compile_dir;
echo $tpl->cache_dir;
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/450/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
最后编辑: jackxiang 编辑于2009-1-12 10:34
评论列表