• 织梦多语言站点,{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;
     }

    摘自:http://blog.csdn.net/zhxh0376/article/details/8268222

  • 相关阅读:
    Decrease (Judge ver.)
    Raising Modulo Numbers
    最短Hamilton路径
    64位整数乘法
    递归系列——数组和对象的相关递归
    函数内容新增——函数表达式
    数据结构和算法(一)——栈
    (转)jQuery中append(),prepend()与after(),before()的区别
    微信端的user-Agent
    less知识点总结(二)
  • 原文地址:https://www.cnblogs.com/wangdahai/p/6239534.html
Copyright © 2020-2023  润新知