dede友情链接如何读取?

99ANYc3cd6
预计阅读时长 19 分钟
位置: 首页 DEDE建站 正文

使用系统内置的友情链接标签 {dede:flink}

这是最直接、最简单的方法,适用于绝大多数场景,织梦系统自带了一个强大的友情链接标签,可以直接在模板文件(如 .htm)中调用。

dede 读取友情链接
(图片来源网络,侵删)

基础用法

这个标签会读取所有启用的友情链接,并以列表形式展示。

{dede:flink}
    <a href="[field:url/]" target="[field:target/]">[field:name/]</a>
{/dede:flink}
  • [field:url/]:链接地址。
  • [field:name/]:链接名称。
  • [field:target/]:打开方式,通常是 _blank (新窗口打开) 或 _self (当前窗口打开)。

带有样式的用法

你可以给链接添加 CSS 类,方便进行样式控制。

{dede:flink}
    <a href="[field:url/]" target="[field:target/]" class="friend-link">[field:name/]</a>
{/dede:flink}

高级用法(按类型、按分组显示)

织梦的友情链接支持按类型(文字、图片)和按分组显示,这非常实用,因为通常我们会把文字链接和图片链接分开显示,或者为不同的客户设置不同的分组。

参数说明:

dede 读取友情链接
(图片来源网络,侵删)
  • type: 'text' (文字链接), 'image' (图片链接), 'textall' (所有文字), 'all' (所有类型)。
  • row: 显示的数量,默认为 10,len 链接名称的长度,默认为24` (字节)。
  • linktype: 链接类型,'1' (普通链接), '2' (首页链接), '0' (所有)。
  • typeid: 这是关键参数,用于指定链接分组,你需要在后台添加友情链接时为链接指定一个分组 ID。

场景1:只显示文字链接

<div class="text-links">
    <h4>合作伙伴</h4>
    {dede:flink type='text' row='20'}
        <a href="[field:url/]" target="_blank">[field:name/]</a>
    {/dede:flink}
</div>

场景2:只显示图片链接

<div class="image-links">
    <h4>友情伙伴</h4>
    {dede:flink type='image' row='10'}
        <a href="[field:url/]" target="_blank">
            <img src="[field:img/]" alt="[field:name/]" width="88" height="31" />
        </a>
    {/dede:flink}
</div>
  • [field:img/]:图片链接的地址。

场景3:按分组显示(最常用)

假设你在后台创建了两个分组:

  • ID = 1,名称为 "文字合作伙伴"
  • ID = 2,名称为 "图片合作伙伴"

在后台添加友情链接时,记得为每个链接选择对应的分组。

模板中调用分组1的文字链接:

<div class="partner-group-1">
    <h4>文字合作伙伴</h4>
    {dede:flink type='text' typeid='1' row='15'}
        <a href="[field:url/]" target="_blank">[field:name/]</a>
    {/dede:flink}
</div>

模板中调用分组2的图片链接:

dede 读取友情链接
(图片来源网络,侵删)
<div class="partner-group-2">
    <h4>图片合作伙伴</h4>
    {dede:flink type='image' typeid='2' row='6'}
        <a href="[field:url/]" target="_blank">
            <img src="[field:img/]" alt="[field:name/]" width="100" height="40" />
        </a>
    {/dede:flink}
</div>

使用 PHP 代码调用(适用于二次开发)

如果你需要在 PHP 文件(如 .php)中获取友情链接数据,而不是在模板中直接显示,可以使用织梦提供的 PHP 函数。

获取所有链接数据

GetFriendLinks() 函数可以获取友情链接数据。

示例代码 (例如在 index.php 中):

<?php
require_once (dirname(__FILE__) . "/include/common.inc.php");
// 调用函数获取友情链接
$links = GetFriendLinks();
// 遍历并输出链接
if(is_array($links)){
    foreach($links as $link){
        echo "<a href='".$link['url']."' target='".$link['target']."' class='friend-link'>".$link['name']."</a>";
    }
}
?>

按类型和分组获取数据

GetFriendLinks() 函数也支持参数,用法和模板标签类似。

<?php
require_once (dirname(__FILE__) . "/include/common.inc.php");
// 获取 typeid=1 分组的所有文字链接
$textLinks = GetFriendLinks(1, 'text', 20);
if(is_array($textLinks)){
    foreach($textLinks as $link){
        echo "<a href='".$link['url']."' target='_blank'>".$link['name']."</a>";
    }
}
?>

函数参数:

  • typeid: 分组ID (可选)
  • type: 链接类型 (text, image 等,可选)
  • row: 数量 (可选)

使用自定义函数(高度自定义)

如果你对输出的 HTML 结构有非常特殊的要求,或者需要做复杂的逻辑处理,可以编写一个自定义函数。

步骤:

  1. 创建自定义函数文件/include/helpers/ 目录下创建一个新文件,extend.helper.php,这个文件专门用来存放自定义函数。

  2. 编写函数extend.helper.php 中编写你的函数。

    // 函数命名规则:+函数名
    function GetMyCustomLinks($typeid = 0, $type = 'text', $row = 10)
    {
        global $dsql;
        $typeid = (int)$typeid;
        $type = preg_replace("#[^a-z]#i", "", $type);
        $row = (int)$row;
        $innertext = '';
        $orwheretype = '';
        if($typeid > 0) $orwheretype .= " And typeid='$typeid' ";
        if($type != 'all') $orwheretype .= " And linktype='$type' ";
        $query = "Select * From `#@__flink` where ischeck=1 $orwheretype order by pos asc";
        $dsql->SetQuery($query);
        $dsql->Execute();
        $links = array();
        while($row = $dsql->GetArray())
        {
            $links[] = $row;
        }
        return $links;
    }
  3. 在模板中调用 现在你可以像使用普通标签一样调用这个自定义函数了。

    {dede:getmycustomlinks typeid='1' type='text' row='15'}
        <li><a href="[field:url/]" target="_blank">[field:name/]</a></li>
    {/dede:getmycustomlinks}

    这种方法提供了最大的灵活性,但需要一定的 PHP 基础。


总结与建议

方法 优点 缺点 适用场景
{dede:flink} 最简单、最直接,官方支持,无需编程 灵活性相对较低,HTML 结构固定 绝大多数常规需求,如页脚、侧边栏的友情链接展示。
GetFriendLinks() 函数 灵活,可在 PHP 逻辑中处理数据 需要修改 PHP 文件,不适合纯前端开发者 需要在 PHP 中获取链接数据,例如用于生成 XML、JSON 或其他复杂逻辑。
自定义函数 高度灵活,可完全控制输出格式和逻辑 需要编写 PHP 代码,有一定门槛 对友情链接的展示有非常特殊、复杂的需求,例如需要根据用户权限显示不同链接等。

对于 99% 方法一 {dede:flink}已经完全够用了,特别是其 typeid 参数,可以轻松实现分组显示,是官方推荐的用法,建议你优先尝试使用这个标签。

-- 展开阅读全文 --
头像
C语言字符串转数字有几种常用方法?
« 上一篇 03-07
织梦友情链接如何正确调用?
下一篇 » 03-07
取消
微信二维码
支付宝二维码