muban大师 发表于 2020-11-16 12:11:15

DEDECMS会员信息在个人模板info和index的调用问题

织梦DEDECMS会员信息在个人模板info和index的调用问题 。
        会员index.php以及变量文件index_do.php都由变量控制,首页模板在index.php中改写,其他文件则在会员文件夹下Inc/space_action.php中有说明
        会员信息在个人模板info和index的调用问题,好长时间没解决 论坛发帖没人回答 看了一晚上代码 自己解决了。
       
        会员个人空间 index.htm 、 listarticle.htm不能像infos.htm模板一样使用
       
       语句来调用自定义联动数据,会报错
       
        会员index.php以及变量文件index_do.php都由变量控制,首页模板在index.php中改写,其他文件则在会员文件夹下Inc/space_action.php中有说明。
       
        以下为例子,要让index.htm同样和infos.htm一样调用处联动数据,header.htm跟随模板文件的改动而相应,比如infos支持,这个页面的header.htm加在调用会成功,否则失败报错。
        将Inc/space_action.php文件中的
       
       
        /*---------------------------------
        个人资料
        function infos(){ }
        -------------------------------------*/
        else if($action=='infos')
        {
        include_once(DEDEDATA.'/enums/nativeplace.php');
        include_once(DEDEINC."/enums.func.php");
        $row = $dsql->GetOne("select * from `dede_member_person` where mid='{$_vars['mid',}' ");
        $dpl = new DedeTemplate();
        $dpl->LoadTemplate(DEDEMEMBER."/space/{$_vars['spacestyle',}/infos.htm");
        $dpl->display();
        }
       
        拷贝到index.php 经过筛选后的此位置,
       
        /*-----------------------------
        //会员空间主页
        function space_index(){ }
        ------------------------------*/
        else
        {
        require_once(DEDEMEMBER.'/inc/config_space.php');
        if($action == '')
        {
        include_once(DEDEINC."/channelunit.func.php");
        $dpl = new DedeTemplate();
        $tplfile = DEDEMEMBER."/space/{$_vars['spacestyle',}/index.htm";
       
        改写方式如下
       
        /*-----------------------------
        //会员空间主页 www.xxxx.com 网站建设
        function space_index(){ }
        ------------------------------*/
        else
        {
        require_once(DEDEMEMBER.'/inc/config_space.php');
        include_once(DEDEDATA.'/enums/nativeplace.php');/*--后添加复制过来--*/
        include_once(DEDEINC."/enums.func.php");/*--后添加复制过来--*/
        if($action == '')
        {
        include_once(DEDEINC."/channelunit.func.php");
        $row = $dsql->GetOne("select * from `dede_member_person` where mid='{$_vars['mid',}' ");/*--后添加复制过来--*/
        $dpl = new DedeTemplate();
        $tplfile = DEDEMEMBER."/space/{$_vars['spacestyle',}/index.htm";
        综上所述 只要在相应的位置添加以下三条数据即可
       
        include_once(DEDEDATA.'/enums/nativeplace.php');/*--后添加复制过来--*/
        include_once(DEDEINC."/enums.func.php");/*--后添加复制过来--*/
        $row = $dsql->GetOne("select * from `dede_member_person` where mid='{$_vars['mid',}' ");/*--后添加复制过来--*/
       
        备注:相应的其他页面只需要在 Inc/space_action.php 统一添加三条语句即可。
页: [1]
查看完整版本: DEDECMS会员信息在个人模板info和index的调用问题