无法在这个位置找到: {dede:include filename=

织梦模板include插入非模板目录文件出现:无法在这个位置找到 错误的解决办法

以下是dede V55_UTF8

查dede include标签手册

(3) include 引入一个文件,形式为:
{dede:include file='文件名称' ismake='是否为dede板块模板(yes/no)'/}
对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录

其实根本不是这个样子的,如果你要引用一个其它目录的东西如:
{dede:include filename="/haixiait/template/default/inc_head.htm"/}

那么就会返回为空字符串,很显然,并没有对文件进行引用.下面经过改造就可以引用各个目录的文件了.(很简单,下面加粗蓝色字体为修改部分)

文件目录为:dede安装根目录/include/dedetag.class.php

//引入文件
  function IncludeFile($filename,$ismake='no')
  {
   global $cfg_df_style;
   $restr = '';
   if($filename=='')
   {
    return '';
   }
   if( file_exists(DEDEROOT."/templets/".$filename) )
   {
    $okfile = DEDEROOT."/templets/".$filename;
   }
   else if(file_exists(DEDEROOT.'/templets/'.$cfg_df_style.'/'.$filename) )
   {
    $okfile = DEDEROOT.'/templets/'.$cfg_df_style.'/'.$filename;
   }
  else if(file_exists(DEDEROOT.$filename) )
   {
    $okfile = DEDEROOT.$filename;
   }
   else
   {
    return "无法在这个位置找到: $filename";
   }

   //编译
   if($ismake!="no")
   {
    require_once(DEDEINC."/channelunit.func.php");
    $dtp = new DedeTagParse();
    $dtp->LoadTemplet($okfile);
    MakeOneTag($dtp,$this->refObj);
    $restr = $dtp->GetResult();
   }
   else
   {
    $fp = @fopen($okfile,"r");
    while($line=fgets($fp,1024)) $restr.=$line;
    fclose($fp);
   }
   return $restr;
  }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索