在使用Dedecms进行网站开发时,可能会遇到/member和/plus文件夹下的模板需要调用当前模板的头部和尾部的情况。然而,如果直接使用同一个变量 ``,可能会导致一个问题:虽然/plus文件夹可以正常使用,但会员中心却无法打开。为了解决这一问题,我们可以采取单独定义变量的方法。 首先,针对会员部分的操作如下:

打开 `/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 文件夹部分的处理,我们需要将变量 `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"); ?>
    
通过以上方法,我们可以有效地解决Dedecms中由于变量冲突导致的会员中心无法打开的问题。这种方法不仅简单易行,而且能够确保不同模块之间的独立性和稳定性。希望这篇文章能帮助到正在使用Dedecms进行开发的朋友们!