在DedeCMS的/member和/plus文件夾下,有許多模板需要調(diào)用當(dāng)前模板的頭部和尾部,但是筆者發(fā)現(xiàn),同時(shí)使用同一個(gè)變量<?php pasterTempletDiy("head.htm"); ?>會(huì)出現(xiàn)問題,plus能正常使用,而會(huì)員中心卻打不開,其實(shí)解決辦法很簡單,進(jìn)行下面修改前,不能采用URL絕對路徑。
(2016年6月25日更新本帖)
調(diào)用方法如下:
會(huì)員部分打開/member/config.php,在最下面添加如下代碼
//引入arc.partview.class.php類處理
require_once(DEDEINC."/arc.partview.class.php");
function pasterTempletDiy($path)
{
global $cfg_basedir,$cfg_templets_skin;
$tmpfile = $cfg_basedir.$cfg_templets_skin."/".$path;//模版文件的路徑
$dtp = new PartView();
$dtp->SetTemplet($tmpfile);
$dtp->Display();
}
對應(yīng)模板用
<?php pasterTempletDiy("head.htm"); ?>
<?php pasterTempletDiy("footer.htm"); ?>
plus文件部分,打開/include/common.func.php,在最下面添加如下代碼,把變量pasterTempletDiy換成變量pasterTempletDiy2即可,
//引入arc.partview.class.php類處理//////////////////////////////////////////////////////
require_once(DEDEINC."/arc.partview.class.php");
function pasterTempletDiy2($path)
{
global $cfg_basedir,$cfg_templets_skin;
$tmpfile = $cfg_basedir.$cfg_templets_skin."/".$path;//模版文件的路徑
$dtp = new PartView();
$dtp->SetTemplet($tmpfile);
$dtp->Display();
}
對應(yīng)模板用
<?php pasterTempletDiy2("head.htm"); ?>
<?php pasterTempletDiy2("footer.htm"); ?>
common.func.php文件里面的變量是全局變量,會(huì)和會(huì)員中心的沖突,分別設(shè)置不同的變量名即可。
近端時(shí)間發(fā)現(xiàn),如果在系統(tǒng)設(shè)置里面勾選“(是/否)支持多站點(diǎn),開啟此項(xiàng)后附件、欄目連接、arclist內(nèi)容啟用絕對網(wǎng)址”,就會(huì)有錯(cuò)誤提示“找不到對應(yīng)的頭部和尾部”,仔細(xì)看路徑上少了“/”,關(guān)閉這項(xiàng)即可。
其實(shí)這個(gè)功能還是不建議大家打開,后面有很多地方會(huì)造成困擾,特別增加了移動(dòng)端或者二級域名之后。