搜索
查看: 11|回复: 0

织梦后台如何进行 跳转 dedecms跳转标签

[复制链接]
发表于 2018-6-12 18:58:46 | 显示全部楼层 |阅读模式
我们在使用织梦dedecms制作网站的时候,有时会遇到利用arclist和list标签调用redirecturl属性。但是,dedecms的arclist和list标签不支持redirecturl。很多网站采用的是直接跳转的地址 虽然也可以使用[field:arcurl/] 但是那样会产生一个中转的跳转过程,跟大家分享一下如何在织梦的arclist和list标签中调用跳转网址。
第一:如何让织梦的arclist标签支持redirecturl属性,实现文章直接调用跳转网址
思路是:由于跳转网址的字段redirecturl是存放在附加表dede_addonarticle中的,所以只需要调用附加表中的该字段即可。
但根据织梦官方的说法,在模板中用arclist调用附加表字段只需指定channelid属性和要获得的字段即可。
示例代码如下:
{dede:arclist typeid=’1’ row=’1’ flag=’j’ addfields=’redirecturl’ channelid=’1’ orderby=’pubdate’}
<a href="[field:redirecturl/]" target="_blank">[field:title/]</a>
{/dede:arclist}
也可以根据redirecturl是否为空,实现直接跳转还是跳转到站内, 示例代码如下:
{dede:arclist typeid=’1’ row=’1’ flag=’j’ addfields=’redirecturl’ channelid=’1’ orderby=’pubdate’}
<a href="[field:array runphp=’yes’] if(@me[’redirecturl’]==’’) @me=@me[’arcurl’];
else @me=@me[’redirecturl’];[/field:array]" target="_blank"> [field:title/]</a>
{/dede:arclist}
addfields这个属性是什么?有哪些值,起什么作用呢?
答:添加附加字段查询。
具体使用方法:
自定义字段也就是添加了一个附加的表,要获取附加表的内容,必须符合两个条件:
1、指定channelid属性;
2、指定要获得的字段addfields=’字段1,字段2’
第二:如何让织梦的list标签支持redirecturl属性,实现文章直接调用跳转网址
现在dedecms的LIST标签不支持redirecturl 网站很多采用的是直接跳转的地址,那么如何如何让织梦的list标签支持redirecturl属性,实现文章直接调用跳转网址呢?
修改方法
很简单只要在 $addField后加上我们要查询的附加表字段的名称就好
打开 include/arc.listview.class.php 找到
//如果不用默认的sortrank或id排序,使用联合查询(数据量大时非常缓慢)
        if(preg_match(’/hot|click|lastpost/’, $orderby))
        {
            $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,
           tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
           $addField
           FROM `dede_archives` arc
           LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
           $addJoin
           WHERE {$this->addSql} $ordersql LIMIT $limitstart,$row";
        }
在这个的上面添加一行
$addField .= ’,’.$addtable.’.redirecturl’;
示例代码如下:
{dede:list row=’1’  addfields=’redirecturl’ orderby=’pubdate’}
<a href="[field:redirecturl/]" target="_blank">[field:title/]</a>
{/dede:list}
也可以根据redirecturl是否为空,实现直接跳转还是跳转到站内, 示例代码如下:
{dede:list row=’1’ addfields=’redirecturl’ orderby=’pubdate’}
<a href="[field:array runphp=’yes’] if(@me[’redirecturl’]==’’) @me=@me[’arcurl’];
else @me=@me[’redirecturl’];[/field:array]" target="_blank"> [field:title/]</a>
{/dede:list}。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

菜鸟论坛

菜鸟论坛-致力于个人网站发展的草根站长联盟,为广大从事互联网工作、前端开发、个人站长、网站搭建、SEO优化、网络运营以及其他领域的个人草根站长同学提供一个免费公益性的信息交流与资源分享的站长平台。

微信公众号

联系我们

  • 广告合作
  • QQ:1099116749

QQ|手机版|小黑屋|菜鸟论坛 ( 鲁ICP备17013748号 )|网站地图

Powered by Discuz! X3.4 © 2018 MZHENG.CN

快速回复 返回顶部 返回列表