[Smarty]Smarty模板学习,测试通过!!

jackxiang 2007-1-7 12:35 | |

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>

   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. ?>


如果出现找不到文件:可能是如下变量设置或者默认设置有问题:

$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应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/450/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2009-1-12 10:34
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]