如何利用{dede:loop}标签高效调用文章链接?
- 行业动态
- 2024-10-08
- 1
{dede:loop}
标签调用文章链接的方法如下:,,“
html,{dede:arclist row='10'},[field:title/],{/dede:arclist},
“,,这段代码会显示最近发布的10篇文章的标题和链接。
在织梦CMS(DedeCMS)中,{dede:loop}标签是一个非常强大的工具,可以用于调用任意表中的数据,默认情况下,这个标签并不支持直接调用文章链接(arcurl),下面将详细介绍如何通过自定义函数来解决这个问题:
基本语法
1、基本语法:
“`
{dede:loop table=’dede_archives’ sort=” row=’4′ if=”}
<a href='[field:arcurl/]’>[field:title/]</a>
{/dede:loop}
“`
2、标签属性:
table:查询表名
sort:用于排序的字段
row:返回结果的条数
if:查询的条件
解决无法调用文章链接的方法
1、打开include/common.func.php文件:
在文件最后添加一个函数,代码如下:
“`php
function IDReturnURL($ID)
{
global $dsql;
$query = "Select arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,
tp.defaultname,tp.namerule,tp.moresite,tp.siteurl,tp.sitepath
from dede_archives arc left join dede_arctype tp on arc.typeid=tp.id where arc.id = ".$ID;
$row = $dsql>GetOne($query);
$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’]);
return $ReturnURL;
}
“`
2、在模板中调用代码:
修改模板中的调用代码为:
“`html
{dede:loop table=’dede_archives’ sort=” row=’4′ if=”}
<li><a href='[field:id function=IDReturnURL(@me)/]’>[field:title function=cn_substrR(@me,44)/]</a></li>
{/dede:loop}
“`
3、在自定义sql标签里调用:
如果是在自定义sql标签里调用,则调用代码如下:
“`html
[field:id runphp=’yes’]$arcRow=GetOneArchive(@me);@me=$arcRow[‘arcurl’];[/field:id]
“`
常见问题解答(FAQs)
1、Q1:为什么在模板中直接使用[field:arcurl/]无法调用文章链接?
A1:这是因为DedeCMS的帮助手册提供的loop万能循环标签默认不支持[field:arcurl/]文章链接标签的直接调用,需要通过自定义函数来实现这一功能。
2、Q2:如何在自定义SQL标签中使用{dede:loop}标签调用文章链接?
A2:在自定义SQL标签中,可以使用以下代码:
“`html
[field:id runphp=’yes’]$arcRow=GetOneArchive(@me);@me=$arcRow[‘arcurl’];[/field:id]
“`
这段代码会获取当前文章的ID,并通过自定义函数GetOneArchive()获取文章的链接。
序号 | 描述 | 示例代码 | |
1 | {dede:loop name='list' row='5' limit='0,10' link='true'} |
用于循环调用指定范围内的文章链接。name 指定文章列表的别名,row 指定每行显示的文章数量,limit 用于限制显示的文章范围,link 参数为true时,显示文章链接。 |
{dede:loop name='list' row='5' limit='0,10' link='true'} |
2 | {dede:loop name='list' row='5' limit='0,10' link='false'} |
与上类似,区别在于不显示文章链接。 | {dede:loop name='list' row='5' limit='0,10' link='false'} |
3 | {dede:loop name='list' row='5' limit='0,10'} |
与上类似,区别在于不显示文章链接和标题,只显示文章ID。 | {dede:loop name='list' row='5' limit='0,10'} |
4 | {dede:loop name='list' row='5' limit='0,10' fields='arcid, title, url' link='true'} |
与上类似,但指定显示字段,如arcid (文章ID)、title )和url (文章链接)。 |
{dede:loop name='list' row='5' limit='0,10' fields='arcid, title, url' link='true'} |
5 | {dede:loop name='list' row='5' limit='0,10' fields='arcid, title, url' link='false'} |
与上类似,区别在于不显示文章链接。 | {dede:loop name='list' row='5' limit='0,10' fields='arcid, title, url' link='false'} |
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/118775.html