我写的测试方法:namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public  function tag(){
$this->display("tag");
}
}
tag.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<include file="tm"/>
tag 页面
</body>
</html>tm.html
<div>测试</div>
展示tag.html的时候无发导入tm页面
哪位大神指点一下什么问题啊

解决方案 »

  1.   

    tag.html 文件的位置对吗?
      

  2.   

    CSDN的这个东西做的,图片都上传不起,蛋疼
      

  3.   

    打开调试模式,找模板编译文件,就知道原因了,
    Include标签的源码在核心库的Template.class.php parse函数中:
    public function parse($content) {
            // 内容为空不解析
            if(empty($content)) return '';
            $begin      =   $this->config['taglib_begin'];
            $end        =   $this->config['taglib_end'];
            // 检查include语法
            $content    =   $this->parseInclude($content);
      

  4.   

    找到了,是引用了smarty模板的问题,找不到路径
    'TMPL_ENGINE_TYPE' =>'Smarty',这个地方配置了smarty 这里的路径是怎么解析的
    有没学习资料可以提供一下啊,我去百度都找不,哪位大神能够指导一下
      

  5.   

    <include file='模版表达式或者模版文件1,模版表达式或者模版文件2,...' />模版表达式的定义规则为:模块@主题/控制器/操作使用模版文件:  包含一个模版文件名(包含完整路径)   是不是格式不对或者模板文件位置不对
      

  6.   

    模块的缓存目录清空下,然后改成这样<include file='Home/tm' />
    或者
    <include file='./Application/Home/View/index/tm.html' />
      

  7.   


    你如果启用了smarty,默认目录结构下,会由vendor下面的smarty类解释相关路径变成:
    ./Application/Home/View/      ---->template_dir
    "./Application/Runtime/Cache/"     ------>compile_dir
    "./Application/Runtime/Temp/"       ------->cache_dir
      

  8.   

    搞清楚了就是配置文件的问题,3.2以后的smary的配置不一样
    配置文件是这样的:
    'TMPL_ENGINE_TYPE'=>'Smarty',
        'TMPL_ENGINE_CONFIG'=>array(
         'plugins_dir'=>'./Application/Smarty/Plugins/',
         ),但是导入还是不对,导入文件的时候还是会报错:Unable to load template file 'header.html' in 'Index/main.html'
      

  9.   

    thingkphp  使用smarty模板 使用include时 用{include file='xx/xx}
    其中的配置是默认设置
    就像楼上说的你如果启用了smarty,默认目录结构下,会由vendor下面的smarty类解释相关路径变成:
     ./Application/Home/View/      ---->template_dir