dede 跳转属性不直接显示跳转问题

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。编程之家小编现在分享给大家,也给大家做个参考。

dedecms 织梦里,有些文章需要跳转到其他页面,操作很简单,在后台选中文章的“跳转”属性,其下方会弹出“跳转网址”文本框,录入跳转到的地址,保存即可。但是,在生成页面后,发现在该文章的链接不是“跳转网址”里设置的地址,而是动态地址,类似:/plus/view.php?aid=14107。而我想让它直接链接到我设置的地址里。解决方法:

1、找到:/include/helpers/channelunit.helper.php。

2、在该文件里找到:if($rank!=0 || $ismake==-1 || $typeid==0 || $money>0),大概在 160 行。

3、将该行及该行一下部分替换:

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";

}

}

替换为:

if($rank!=0 || $ismake==-1 || $typeid==0 || $money>0)

{

//--------跳转网址不经过中间页直接显示----------------begin---by Maker Cloud

global $dsql;

$flag = $dsql->GetOne("select * 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 Maker Cloud

//动态文章

if($cfg_rewrite == 'Y')

{

return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';

}

else

{

return $GLOBALS['cfg_phpurl']."/view.php?aid=$aid";

}

}

4、重新生成即可。

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

文章浏览阅读483次。dedecms织梦频道模板中调用栏目分类并排...
文章浏览阅读284次。我们在用织梦建站的过程中,难免会遇到各...
文章浏览阅读152次。seo专题是seo优化必不可少的一环,对于网...
文章浏览阅读142次。在Dedecms中,在列表页调用文章摘要的方...
文章浏览阅读234次。织梦DedeCMS文章内容发布时可以选择“头...
文章浏览阅读701次。虽然织梦DedeCMS因为安全问题被人所诟病...