dede 获取文章链接地址
今天在研究dedecms,因为需要多表联查,只有通过sql语句来调用文档,可是用默认的[field:arcurl/]无法获取文档的链接地址,后经到网上搜寻,找到一套调用文档地址的办法,整理下面:
大家知道,在Dede系统里面,我可以可以自由使用SQL语句来配合织梦标签进行更多的个性化调用。比如:推荐会员、推荐企业等。通过SQL语句调用文档列表并获取其静态页面地址的方法。
他们的基本参照格式为:
{dede:sqlsql='select 字段 From 表名称 where 条件语句'}
[field:字段名/]
{/dede:sql}
由上面这种基本格式,我们就可以基本转换出一条调用文档列表的调用标签了,代码为:
{dede:sqlsql='select * From dede_archives limit 10'}
<ahref="/plus/view.php?aid=[field:id/]">[field:title/]</a>
{/dede:sql}
大家看到了上面的文档链接的底层模板地址的是动态的,那么我们要如何来进行转换,让他链接到静态地址呢,这里我们只需要对[field:id/]进行一下转换,转换后的完整代码为:
{dede:sqlsql="SELECT * FROM dede_archives limit 10"}
<li>·<ahref='[field:id runphp='yes']$id=@me;@me='';$url=GetOneArchive($id);@me=$url['arcurl'];[/field:id]'title="[field:title/]" target="_blank">[field:titlefunction=cn_substr(@me,30,0)/]</a></li>{/dede:sql}