tp3.2.3 改用 smarty模板,启用内部变量的办法。

浏览:483 发布日期:2017/07/08 分类:技术分享
用了tp3.2.3,并且使用了外部模板引擎smarty后(我用的是目前最新的smarty3.1.30),tp的内部变量,__ROOT__、__URL__等,死活就是用不了。

对比了tp默认的模板,发现默认模板可以通过监听template_filter加载行为(ThinkPHP/Library/Behavior/ContentReplaceBehavior.class.php)的,而smarty无法加载,最后只好在ThinkPHP/Library/Think/View.class.php文件中的第132行,即:Hook::listen('view_filter',$content);的下一行,

加上:Hook::listen('template_filter',$content);

这样,smarty模板文件才可以调用内部的 __ROOT__、__URL__等变量。

按理,不该加在view.class.php中,但实在找不到好办法。
最佳答案
评论( 相关
后面还有条评论,点击查看>>