手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:thinkphp

TP1.5版本中使用smarty模版引擎的技巧

从TP1.5开始,对于其他的模版引擎有了原生支持(不再是以前那种插件机制了)。
本文以使用smarty模版为例作点简单介绍,其他的,可以参考一下View.class.php中的fetch方法可知。

TP的SVN中已经含有smarty模版库,因此当你要使用的时候,只需要在项目的config.php里作一点简单的配置:

PHP代码
  1. 'TMPL_ENGINE_TYPE' => 'smarty',    //这个是设置引擎为smarty  


从2009-01-07下午的SVN版本里,流年为又增加了一个TMPL_ENGINE_CONFIG这个数组,即:

PHP代码
  1. 'TMPL_ENGINE_CONFIG'array(  
  2.         'template_dir' => TMPL_PATH , //这个就是tpl目录了  
  3.         'compile_dir'  => CACHE_PATH . "tplCompile/"//这是我自己设定的,模版编译缓存放在这个目录里  
  4.         'cache_dir'    => CACHE_PATH . "tplCache/",   //如果需要生成页面缓存,这个也是必须的  
  5.         'left_delimiter' => '{',  
  6.         'right_delimiter' => '}',  
  7.         'caching' => false,  
  8.         'force_compile' => true,  
  9.         'compile_check' => true,  
  10. ),  


备注:如果按照我这样的写法,请到cache目录里手动创建tplCompile和tplCache两个目录,否则程序会报错。
报错信息大致为:

XML/HTML代码
  1. Catchable fatal error: Object of class Smarty could not be converted to string in D:\local\htdocs\ThinkPHP\Album\Temp\~runtime.php on line 145  


如果出现这样的报错信息,请先检查这两个目录是否存在

在项目开发的时候,caching 最好设为false,否则你根本看不到效果。

如此设定完毕后,你就可以直接在项目中使用了,下面以Index模块的index方法进行举例:在IndexAction.class.php的index的方法里

PHP代码
  1. $this->assign("test" , "This is a test string");  
  2. $this->display();  

然后到模版里:

XML/HTML代码
  1. {$test} 

就可以看到输出了。不过,这里需要注意的是,如果你$this->display()没有指定文件名,那么默认的模版文件就是default/Index/index.html,这点和原先使用TP默认的模版引擎没有什么区别。
出现问题最大的应该是在include方法里,include的使用方法是:{include file="Public/header.html"},就象我前面所说,smarty的模版路径只指到了tpl目录,但实际上,我们是在默认的default目录下操作,因此正确的写法应该是{include file="default/Public/header.html"}
如果我们写的程序要对应多模版,那么,上面那种直接写死default的方法是不行的,还好,TP为我们留了一个常量:TEMPLATE_NAME,于是我们的写法就可以是现在这样:

XML/HTML代码
  1. {include file="`$smarty.const.TEMPLATE_NAME`/Public/header.html"}  

现在试一下,是否公用目录里的header.html被加载了?

最后再报一个warning。如果是在WINDOWS下面开发并且开启了DEBUG_MODE,那么你在读取模版的时候,页面的Trace信息里,偶尔会出现一个注意:

 

XML/HTML代码
  1. [ 09-01-08 14:36:02 ] 注意:[2] unlink(./Cache/tplCompile/\%%70^706^706C3AFE%%index.html.php) [function.unlink]: No such file or directory core.write_file.php 第 44 行.  


这些信息,可以被忽略掉。模版文件还是会正常的生成和编译的。它只会在第一次生成模版编译文件的时候出现

Tags: thinkphp, smarty, template

YY博鼎力之作:ThinkPHP 2008年离线资料包下载

YY博鼎力之作哦,大家支持一下。
除此之外,他还写了一个yBlog,同样请大家支持
http://www.yhustc.com,就是yBlog的官方网站。

介绍:

ThinkPHP 2008年离线资料包,将ThinkPHP论坛使用版面与帮助资料版面2008年所有帖子全部采集生成HTML文件,并添加了全文检索功能。可以在不联网的情况下方便查找论坛中相关问题的讨论,并且可以方便的搜索,比CHM的搜索更强大的搜索。点击搜索结果可以直接来到帖子页,也可以直接通过首页进入相关版面列表,就跟操作BBS一样。

注意:需要安装.NET框架2.0及以上版本

图片:

大小: 89.9 K
尺寸: 500 x 366
浏览: 2130 次
点击打开新窗口浏览全图

大小: 66.32 K
尺寸: 470 x 376
浏览: 2136 次
点击打开新窗口浏览全图

大小: 72.93 K
尺寸: 469 x 376
浏览: 2068 次
点击打开新窗口浏览全图

下载地址:http://www.yhustc.com/ThinkPHP2008.rar

本站分流:下载

Tags: thinkphp, 资料, yhustc

顶想招聘

顶想,流年,这些关键字是不是让你有什么熟悉的地方?topthink,流年的想法终于付诸实施了,虽然他并没有要求我发这个贴子和链接,不过,作为THINKPHP的用户,也希望更多的人走进来,试想fleaphp(QeePHP)也是以公司形式在运作,如果没有大量的人来做这些事,光靠个人,可能很难坚持下去。所以,我支持一下流年。。。

以下是招聘启示(顺便BS一下,居然用FLASH,害得我差点没法复制。。。):

上海顶想信息科技有限公司致力于ThinkPHP的运作推广、支持和项目以及产品开发。
为了ThinkPHP的长足发展和项目需要,顶想信息科技公开招聘官方技术团队和PHP开发精英。
无论你是PHP菜鸟还是高手,只要你对ThinkPHP充满热情,都欢迎加入我们的团队。
我们追求的是快乐,做你真正喜欢做的事。
我们追求的是效率,做正确的事而不总是加班。
我们追求的是尊重,人是我们最大的财富。
我们追求的是成长,发现,培养,和保留最优秀的人。
如果你想追随自己的梦想,如果你想超越不可能,如果你想达到人生的理想,请考虑一下这个机会!有超过10w的用户在使用ThinkPHP,做为ThinkPHP官方的核心团队成员,你将 会伴随着TP一起成长。我们希望你在这个过程中能成长为一名经验丰富的项目负责人,能够独当一面,开发大型创新性项目。我们也希望你能够同时培养起较强的商业直觉和沟通管理才能。

我们的人才观
1. 以人为本,唯才是用
2. 能者居之,能进能出
3. 德才兼备,共同发展

我们需要什么样的人才?
1、有实际WEB2.0相关项目经验的PHP开发人员;
2、进行TP的文档编写、示例制作、宣传推广和培训支持的技术支持人员;
3、熟悉其他开发框架、对框架开发有强烈兴趣的开发人员

基本要求:
1、热爱ThinkPHP
2、熟悉PHP面向对象和MVC开发
3、良好的编程习惯和思想
4、独立的开发能力
5、有ThinkPHP项目开发经验优先
工资待遇:3k~6k

公司简介:上海顶想信息科技有限公司,主要从事ThinkPHP的运作推广、支持和项目以及产品开发。
工作地点:上海徐汇区钦州路108弄梓树园6号楼203室

有意向请投简历到:hr@topthink.com 或者联系QQ:130770305(请注明应聘)


顺便说一下,离我现在的单位真的不远呀。。。。看来以后有机会跑过去蹭饭了

Tags: 顶想, topthink, thinkphp, 流年, 招聘

海龙CMS1.1 beta发布

海龙CMS是基于ThinkPHP框架的一个PHP应用,目前看来是相对简陋了一些,但这也紧紧局限于表面,毕竟没有专业的美工,能做到这样也算是不错了,程序支持模版的切换,所以,如果你的美工够好,你一定能够做出比海龙官方更漂亮的网站。

此次更新了以下内容:

1.1 Beta
取消了产品管理
取消了产品搜索
采用Rbac进行权限控制
采用SinaEditor编辑器,支持图片和附件上传
文章分类支持到三级分类
修改了模板变量的处理方式
整合了yhustc工具箱(可到TP论坛搜索yhustc工具箱以查看详细资料
可生成HTML(只需要后台配置一下就好了)


1.0 Final
完成了基本的文章管理、页面管理、产品管理
产品支持多字段模糊查询

演示地址:http://www.hailongol.com/hlcms/
官方下载:http://www.hailongol.com/HailongCMS.rar

本站分流:hailongcms.rar

Tags: 海龙, cms, thinkphp, beta

享受TP的DISPATCH功能

这篇日志被加密了,请输入密码后查看。
Records:2112345