dede:include filename=""パスの問題:この場所でパスを見つけることができません
1848 ワード
ドリームテンプレートDEDECMS
まずコードを見てください.ファイルディレクトリは次のとおりです.
dedeインストールルートディレクトリ/include/dedetag.class.php
以上のコードから分かるように、dede:includeは2つの経路を判断する:1つはtemplets/の下の経路である;1つは、システムのデフォルトテンプレートのパスdefaultです.
パスがこの2つのパスでない場合、この場所でこのファイルを見つけることができません.解決方法は2つあります.1つは、ここに判断を追加することです.もう1つは、文書の規定に従って、文書の規定に合致する経路を書くことで解決できる.
参考ページ:http://blog.sina.com.cn/s/blog_66a0738b0100l7lu.html
まずコードを見てください.ファイルディレクトリは次のとおりです.
dedeインストールルートディレクトリ/include/dedetag.class.php
/**
*
*
* @access public
* @param string $filename
* @param string $ismake
* @return string
*/
function IncludeFile($filename, $ismake='no')
{
global $cfg_df_style;
$restr = '';
if($filename=='')
{
return '';
}
if( file_exists(DEDEROOT."/templets/".$filename) ) // DEDEROOT."/templets/"
{
$okfile = DEDEROOT."/templets/".$filename;
}
else if(file_exists(DEDEROOT.'/templets/'.$cfg_df_style.'/'.$filename) ) // default :DEDEROOT."/templets/default/"
{
$okfile = DEDEROOT.'/templets/'.$cfg_df_style.'/'.$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;
}
}
以上のコードから分かるように、dede:includeは2つの経路を判断する:1つはtemplets/の下の経路である;1つは、システムのデフォルトテンプレートのパスdefaultです.
パスがこの2つのパスでない場合、この場所でこのファイルを見つけることができません.解決方法は2つあります.1つは、ここに判断を追加することです.もう1つは、文書の規定に従って、文書の規定に合致する経路を書くことで解決できる.
参考ページ:http://blog.sina.com.cn/s/blog_66a0738b0100l7lu.html