Smarty模板Windows下写代码 放到CentOS6.5无法正确解析
如题:报错:
Unable to load template file 'System/header.htm' in '/var/www/website/cms/Template/Default/Web/Index/index.htm'
结构如下:
Web/Index/index.htm
Web/System/header.htm
index.htm文件第一行如下:
{{include file="System/header.htm"}}
亲,你在windows下设置的路径放到linux下是不行滴!
在linux下不能正确解析相对路径。
后来php哥们给改了,偶刚开始还不会!5555!
改了模板:cms\Core\Library\Vendor\Smarty\sysplugins下的 smarty_internal_template.php
public function getSubTemplate($template, $cache_id, $compile_id, $caching, $cache_lifetime, $data, $parent_scope)
{
// already in template cache?
$template = '../'.$template;
..................
}
直接在原路径上加 “../”返回到上层路径再解析解决问题。
本文介绍了在使用Smarty模板引擎时遇到的一个跨平台路径解析问题。在Windows环境下编写的代码移植到CentOS 6.5时,由于路径解析方式的不同导致无法正确加载模板文件。通过修改Smarty内部代码实现了解决方案。
635

被折叠的 条评论
为什么被折叠?



