dedecms跳转标签
我们在使用织梦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 `#@__archives` arc
LEFT JOIN `#@__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}
dedecms跳转标签的更多相关文章
- dedecms的热门标签在那里修改
很多人都在用dedecms,因为它不但开源,而且功能还很强大.有会员功能,评论功能,问答功能,积分功能,充值卡等.那么我们来看看很多同学在优黔图里面的提的问题-dedecms的热门标签在那里修改? 其 ...
- dedecms利用memberlist标签调用自定义会员模型的会员信息
[摘要]本文讲一下dedecms如何利用memberlist标签调用自定义会员模型的会员信息. dedecms利用memberlist标签调用自定义会员模型的会员信息,这个问题找了很久,官方论坛提问过 ...
- Dedecms列表页标签list/pagelist使用方法及pagelist的样式
Dede的默认页面中有个list_article.htm页面,这是dede的列表页面.在列表页显示文章的列表,是通过dede的list和pagelist这两个个标签实现的.本文就这两个标签的使用及pa ...
- dedecms中arclist标签做分页以及分页点击模块样式错乱问题
in 使用织梦建站,通常会调用到一个文章列表,dedecms官网list标签没有提供typeid的属性,首页或多列表部分情况下使用分页并不方便,这就需要用arclist标签实现一个分页功能:以下还是展 ...
- dedecms自增标签[field:global.autoindex/]的运用
用bootstrap建站时用到幻灯片切换模块,里面有个active(下面代码中的data-slide-to="0"),其余的按顺序递增(1,2),如果用dedecms就可以用aut ...
- dedecms万能SQL标签使用方法大全
注意:dede_archives这是系统默认的数据库表,如果你修改过表前缀dede_,请自行更改表名.在以下示例的标签中,有一部分只写出了SQL语句,具体的完整标签写法请参考:织梦SQL标签调用方法. ...
- DedeCMS的分页标签pagelist支持中英文的修改方法[转]
不得不感叹DedeCMS的强大,可定制性和扩展性太强了,就算不懂php也可以很轻松的修改源码. 今天碰到个新问题,用DedeCMS搞了个中英双语的网站,其他的都修改好了,上线之前发现分页条中英文版中都 ...
- 织梦dedecms模板调用标签大全-提高制作模板速度
关键描述调用标签: ——————————————————————————–模板路径调用标签: {dede:field name=’templeturl’/}—————————————————————— ...
- 织梦dedecms中arclist标签下无法嵌套图片
版权声明:本文为博主原创文章,未经博主允许不得转载. 错误代码: {dede:arclist row=10 orderby=click titlelen=35} [field:title/] {/de ...
随机推荐
- SQL调优--记一次表统计信息未及时更新导致查询超级慢
某日同事丢给我一个看上去复杂的查询(实际就涉及两张表,套来套去)说只是换了日期条件,但一个查询5秒出数据,一个根本查不出来.现在整理下解决过程,及涉及的知识点. 若有不正之处, ...
- rest_framework序列化
1.序列化 1)拿到queryset 2)将queryset 给序列化类 serializer = IdcSerializer(idc) #单个对象 serializer = IdcSerial ...
- loj2065 「SDOI2016」模式字符串
ref不是太懂 #include <iostream> #include <cstring> #include <cstdio> using namespace s ...
- WordPress 通过文章 URL 获取文章 ID
// 获取当前文章链接,注意,在文章类型页面的主循环外使用标签时,如果没有指定 Post ID 参数,该标签将返回循环中最后一篇文章的 URL,而不是当前页面的固定链接,或者直接不返回结果,所以一般需 ...
- navigationBar 设置关于setTranslucent
在ios7中, 如果setTranslucent=yes 默认的 则状态栏及导航栏底部为透明的,界面上的组件应该从屏幕顶部开始显示,因为是半透明的,可以看到,所以为了不和状态栏及导航栏重叠,第一个 ...
- node中fileSystem改promise
请注意,fs的大部分函数回调只会返回一个error参数,所以只要判断error为false的情况下就返回成功,无论有没有第二个参数. 另外exists需要单独包装,因为第一个参数就代表返回内容 con ...
- Linux内存使用消耗高
Linux系统下如果内存占用很高又找不到是被什么程序占用的,需要考虑下是否是SLAB的问题.SLAB是Linux操作系统的一种内存分配机制,可以使用下面命令来查看.例如: cat /proc/memi ...
- try 与catch的作用
首先要清楚,如果没有try的话,出现异常会导致程序崩溃.而try则可以保证程序的正常运行下去,比如说: try{ int i = 1/0; }catch(Exception e){ e.printSt ...
- cf 853 D Michael and Charging Stations [dp]
题面: 传送门 思路: 看到题目,第一思路是贪心,但是我很快就否决掉了(其实分类贪心也可以做) 然后就想,贪心不能解决的状态缺失,是否可以用dp来解决呢? 事实证明是可以的 我们设dp[i][j]表示 ...
- DOM解析和优化
DOM解析 1. css不会阻塞DOM解析(DOM Tree),但会阻塞DOM渲染(css Tree + DOM Tree -> render Tree )2. JS阻塞DOM解析,但浏览器会预 ...