找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1561|回复: 0

[分享] 织梦{dede:loop}循环标签调用文章链接arcurl的方法

[复制链接]
发表于 2018-3-9 08:10:19 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
DedeCMS帮助手册提供的loop万能循环标签默认不支持[field:arcurl/]文章链接标签的直接调用,也就是[field:arcurl/]链接标签没法被解析生成,那么怎么解决这个问题呢?
我们先看看loop万能循环标签代码,代码如下:
  1. {dede:loop table='dede_archives' sort='' row='4' if=''}
  2. <a href='[field:arcurl/]'>[field:title/]</a>
  3. {/dede:loop}
复制代码

下面我们自己动手,添加一个函数。
找到并打开/include/common.func.php文件,在里面找到54行,再这里添加一个函数代码如下:
  1. function IDReturnURL($ID)
  2. {
  3. global $dsql;
  4. $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,
  5. tp.defaultname,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
  6. from dede_archives arc left join dede_arctype tp on arc.typeid=tp.id where arc.id = ".$ID;
  7. $row = $dsql->GetOne($query);
  8. $ReturnURL = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],$row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
  9. return $ReturnURL;
  10. }
复制代码

二、模板中的调用写法,代码如下:
  1. {dede:loop table='dede_archives' sort='' row='4' if=''}
  2. <li><a href='[field:id function=IDReturnURL(@me)/]'>[field:title function=cn_substrR(@me,44)/]</a></li>
  3. {/dede:loop}
复制代码

另外,如果你要用在自定义sql标签里,则代码如下:
  1. [field:id runphp='yes']$arcRow=GetOneArchive(@me);@me=$arcRow['arcurl'];[/field:id]
复制代码

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

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

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2025-1-10 21:01 , Processed in 0.045074 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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