DedeCMS文章上一篇下一篇链接调用方法详解

在织梦DedeCMS模板制作中,文章内容的上一篇和下一篇导航是提升用户体验的重要功能。本文将详细介绍三种常见的调用场景,帮助站长快速实现不同设备下的导航链接。

电脑站纯链接调用

对于电脑端网站,如果只需要显示上一篇和下一篇的链接地址,不包含文章标题,可以使用以下代码。该代码通过正则表达式提取链接地址,并生成简洁的导航按钮。

<li>
    <a href="{dede:prenext get=pre runphp=yes}$url = @me;preg_match('/href=[\'\"]?([^\'\"]+)/', $url, $match);@me = $match[1];{/dede:prenext}">上一篇</a>
</li>
<li>
    <a href="{dede:prenext get=next runphp=yes}$url = @me;preg_match('/href=[\'\"]?([^\'\"]+)/', $url, $match);@me = $match[1];{/dede:prenext}">下一篇</a>
</li>

电脑站带标题与提示文字调用

如果需要同时显示链接、文章标题,并在没有上一篇或下一篇时显示提示文字,可以使用以下增强版代码。该代码通过正则匹配提取标题和链接,并支持自定义无内容时的提示。

{dede:prenext get=pre runphp=yes}
$str = @me;
$pattern = "/href=[\'\"](.+?)[\'\"]?>(.+?)<\/a>/";
preg_match_all($pattern,$str, $match);
@me = isset($match[1][0]) ? "<a href='{$match[1][0]}' title='{$match[2][0]}' class='l'><label class='a'>&lt;</label>上一篇</a>" : "没有上一篇了";
{/dede:prenext}

{dede:prenext get=next runphp=yes}
$str = @me;
$pattern = "/href=[\'\"](.+?)[\'\"]?>(.+?)<\/a>/";
preg_match_all($pattern,$str, $match);
@me = isset($match[1][0]) ? "<a href='{$match[1][0]}' title='{$match[2][0]}' class='r'>下一篇<label class='b'>&gt;</label></a>" : "没有下一篇了";
{/dede:prenext}

移动站带标题与提示文字调用

针对移动端网站,推荐使用GetOneArchive函数获取完整的文章信息,包括标题和链接。该代码会自动在链接前添加/m路径,适配移动站URL结构,并支持无内容时的友好提示。

<li>
    {dede:prenext get=pre runphp=yes}
    $preurl = @me;
    preg_match('/aid=(\d*)/',$preurl,$match);
    $result = GetOneArchive($match[1]);
    @me = !empty($result) ? "上一篇:<a href="/m{$result['arcurl']}">{$result['title']}</a>" : "上一篇:没有了";
    {/dede:prenext}
</li>
<li>
    {dede:prenext get=next runphp=yes}
    $preurl = @me;
    preg_match('/aid=(\d*)/',$preurl,$match);
    $result = GetOneArchive($match[1]);
    @me = !empty($result) ? "下一篇:<a href="/m{$result['arcurl']}">{$result['title']}</a>" : "下一篇:没有了";
    {/dede:prenext}
</li>
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。