找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1273|回复: 0

[分享] dedecms中loop标签输出[field:arcurl/]链接失败的解决方法

[复制链接]
发表于 2018-7-24 20:45:49 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
在Ddedecms中官方提供了loop万能循环标签,但是此循环标签只能循环出该表中的字段,而“[field:arcurl/]”链接标签并不能被解析出来,而dedecms官方论坛上也没有找到相关的解决办法,下面是在网上查询后得到代码,经本人测试,问题已完美解决。
首先我们看看官方提供的代码:
{dede:loop table='dede_archives' sort='' row='4' if=''}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:loop}

修改方法:
1.打开Include/common.func.php,再60行左右添加一个函数代码如下:
  1. function IDReturnURL($ID)
  2. global $fzcms;
  3. $query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,
  4. tp.defaultname,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
  5. from dede_archives arc left join dede_arctype tp on arc.typeid=tp.id where arc.id = ".$ID;
  6. $row = $fzcms->GetOne($query);
  7. $ReturnURL = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
  8. $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
  9. return $ReturnURL;
  10. }
复制代码

2.这样我们在模板中调用方式的写法也有所改变,代码如下:
  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}
复制代码

这样dedecms中如何用loop签循环出arcurl标签(获取链接)地址的问题就可以迎刃而解了,这里只是用到了自定义sql标签

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

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

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

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

关闭

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

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

GMT+8, 2024-11-22 06:07 , Processed in 0.047159 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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