如何高效获取{dede:datalist}文章的静态链接?

2025-09-07
要获取文章的静态链接,请使用{dede:datalist}标签并设置typeidfields参数。

在DEDE CMS中,通过SQL语句调用文档列表并获取其静态页面地址的方法如下:

基本格式

1、使用SQL语句调用文档

利用SQL语句配合DEDE标签进行个性化调用,基本格式为:

     {dede:sql sql='select 字段 From 表名称 where 条件语句'}     [field:字段名/]     {/dede:sql}

调用前10条文档的代码为:

     {dede:sql sql='select * FROM dede_archives limit 10'}     [field:title/]     {/dede:sql}

2、转换动态链接为静态链接

默认情况下,文档链接的底层模板地址是动态的,为了转换为静态链接,需要对[field:id/]进行转换,完整代码如下:

     {dede:sql sql='select * FROM dede_archives limit 10'}     
  • [field:title function=cn_substr(@me,30,0)/]
  • {/dede:sql}

    具体步骤

    1、调用文档列表

    使用SQL语句从dede_archives表中选择所需的字段,选择所有字段并限制前10条记录:

         {dede:sql sql='select * FROM dede_archives limit 10'}

    2、生成静态链接

    使用runphp='yes'属性在DEDE标签内执行PHP代码,通过GetOneArchive($id)函数获取文档的静态链接。

    将获取到的静态链接赋值给href属性:

         

    3、显示文档标题

    使用[field:title/]标签显示文档的标题,并添加target="_blank"属性在新窗口中打开链接:

                [field:title function=cn_substr(@me,30,0)/]     

    4、完整示例

    综合以上步骤,完整的调用文档列表并获取其静态页面地址的代码如下:

         {dede:sql sql='select * FROM dede_archives limit 10'}     
  • [field:title function=cn_substr(@me,30,0)/]
  • {/dede:sql}

    FAQs

    1、如何在DEDE CMS中通过文章ID获取文章链接URL?

    可以通过以下PHP代码实现:

         require_once(dirname(__FILE__) . "/../include/common.inc.php");     require_once(DEDEINC . "arc.archives.class.php");     $ac = new Archives($aid); //通过文章ID获取文章对象     $aurl = $ac>GetTrueUrl(0); //获取文章的真实URL     echo $aurl;

    2、如何通过分类ID获取分类链接URL?

    可以通过以下PHP代码实现:

         require_once(dirname(__FILE__) . "/../include/common.inc.php");     require_once(DEDEINC . "typelink.class.php");     $tl = new TypeLink($typeid); //通过分类ID获取分类对象     $turl = $tl>GetOneTypeUrl($tl>TypeInfos); //获取分类的真实URL     echo $turl;

    标签: 如何 高效 获取 is

    本文地址:https://www.lifejia.cn/news/88241.html

    免责声明:本站内容仅用于学习参考,信息和图片素材来源于互联网,如内容侵权与违规,请联系我们进行删除,我们将在三个工作日内处理。联系邮箱:cloudinto#qq.com(把#换成@)