DedeCMS会员中心调用模板head.htm和footer.htm

dede调用模板head

       在DedeCMS的/member和/plus文件夹下,有许多模板需要调用当前模板的头部和尾部,但是笔者发现,同时使用同一个变量<?php pasterTempletDiy("head.htm"); ?>会出现问题,plus能正常使用,而会员中心却打不开,其实解决办法很简单,进行下面修改前,不能采用URL绝对路径。

(2016年6月25日更新本帖)

       调用方法如下:

会员部分打开/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();
}

       对应模板用

<?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();
}

       对应模板用

<?php pasterTempletDiy2("head.htm"); ?>
<?php pasterTempletDiy2("footer.htm"); ?>

       common.func.php文件里面的变量是全局变量,会和会员中心的冲突,分别设置不同的变量名即可。

       近端时间发现,如果在系统设置里面勾选“(是/否)支持多站点,开启此项后附件、栏目连接、arclist内容启用绝对网址”,就会有错误提示“找不到对应的头部和尾部”,仔细看路径上少了“/”,关闭这项即可。

       其实这个功能还是不建议大家打开,后面有很多地方会造成困扰,特别增加了移动端或者二级域名之后。