教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 开源代码 > cms教程 >

DEDECMS5.6和5.7修复跳转网址无法实现的解决办法

时间:2012-05-25 15:31来源:未知 作者:ken 点击:

本解决方案是在织梦5.6/5.7中测试过的,当文档设置为跳转并添加跳转网址后不显示出跳转网址或不经过中转页而直接可以用标签arcurl在底层模板中显示redirecturl跳转网址。

找到dedecms文件:/include/helpers/channelunit.helper.php中,第157行处开始修改:

修改前:

if($rank!=0 || $ismake==-1 || $typeid==0 || $money>0)
        {
            //动态文章
            if($cfg_rewrite == 'Y')
            {
                return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
            }
            else
            {
                return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
            }
        }

修改后:站长教学网 eduyo.com

if($rank!=0 || $ismake==-1 || $typeid==0 || $money>0)
        {
   //--------跳转网址不经过中间页直接显示----------------begin---by eduyo.com
   global $dsql;
   $flag = $dsql->GetOne("select flag from dede_archives where id = $aid;");
   $flag = $flag['flag'];
   if(preg_match("/j/",$flag)){

    $addontable = $dsql->GetOne("select art.id,cht.addtable from dede_arctype art left join dede_channeltype cht on art.channeltype = cht.id where art.id = $typeid");
    $addtable = $addontable['addtable'];
    $GoUrl = $dsql->GetOne("select redirecturl from $addtable where aid = $aid");
    $redirecturl = $GoUrl['redirecturl'];
    if($redirecturl != ''){
    return $redirecturl;
    }
   }
   //--------跳转网址不经过中间页直接显示----------------end---by eduyo.com
            //动态文章
            if($cfg_rewrite == 'Y')
            {
                return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
            }
            else
            {
                return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";
            }
        }

修改完毕后,重新发布首页和列表页,则跳转网址的文档其网址直接正常显示为redirecturl跳转网址而不在显示为设置网址模式或动态view.php跳转了。

(责任编辑:ken)
TAG标签: dedecms 织梦 跳转
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容