Smarty在ThinkPHP中的模板布局问题 10
1.我有两个模板,提取出公共的页头和页脚,中间写了{__CONTENT__},起名Layout.html,放在.Application/Layout目录中。2.在TP框架...
1. 我有两个模板,提取出公共的页头和页脚,中间写了{__CONTENT__},起名Layout.html,放在.Application/Layout目录中。
2. 在TP框架中切换为Smarty模板,在公共的配置文件中写入:
'TMPL_ENGINE_CONFIG' =>array(
'caching' => false, //是否生存缓存
'template_dir' => '.Layout/',//模板目录
'compile_dir' => '.Layout/Layout_compile/',//编译目录
'cache_dir' => '.Layout/Layout_cache/',//缓存目录
'left_delimiter' => '{',// 左边界
'right_delimiter' => '}',//右边界
),
3. 在另外的两个模板的顶头写了{extends file='Layout.html'},当访问的时候,系统提示:Unable to load template file 'Index/view.html'
请问是路径写的不对吗?如果我把 {extends file='Layout.html'} 按照目录路径改为 {extends file='../../Layout/Layout.html'}也依旧是有问题啊
我该怎样改呢? 展开
2. 在TP框架中切换为Smarty模板,在公共的配置文件中写入:
'TMPL_ENGINE_CONFIG' =>array(
'caching' => false, //是否生存缓存
'template_dir' => '.Layout/',//模板目录
'compile_dir' => '.Layout/Layout_compile/',//编译目录
'cache_dir' => '.Layout/Layout_cache/',//缓存目录
'left_delimiter' => '{',// 左边界
'right_delimiter' => '}',//右边界
),
3. 在另外的两个模板的顶头写了{extends file='Layout.html'},当访问的时候,系统提示:Unable to load template file 'Index/view.html'
请问是路径写的不对吗?如果我把 {extends file='Layout.html'} 按照目录路径改为 {extends file='../../Layout/Layout.html'}也依旧是有问题啊
我该怎样改呢? 展开
1个回答
2015-04-23 · 知道合伙人互联网行家
关注
展开全部
有个模板引擎.他做的工作是,把模板标签替换成PHP标签,然后把文件存成PHP文件,执行.然后输出.
可以看下模板原理
例如,test.html中的内容是
<{$v}>
先获取test.html的内容
$str = file_get_contents('test.html')
引擎会做一个处理
$php_str = preg_replace('/\<\{\$(.*)\}\>/i', '<?php echo \$$1;?>', $str);
file_put_contents('test.php', $php_str);
include('test.php');
这是一个简单的原理.
可以看下模板原理
例如,test.html中的内容是
<{$v}>
先获取test.html的内容
$str = file_get_contents('test.html')
引擎会做一个处理
$php_str = preg_replace('/\<\{\$(.*)\}\>/i', '<?php echo \$$1;?>', $str);
file_put_contents('test.php', $php_str);
include('test.php');
这是一个简单的原理.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询