dede友情链接网站简况如何调用?

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

准备工作:确保友情链接已填写“网站简况”

在修改模板之前,请务必确认你的友情链接数据中已经包含了“网站简况”信息。

dede 友情链接 网站简况 调用
(图片来源网络,侵删)
  1. 登录 DedeCMS 后台。
  2. 进入 [核心] -> [友情链接]
  3. 点击一个已有的友情链接进行编辑,或者添加一个新的。
  4. 在表单中,找到 “网站简况” 这个字段(通常是一个文本域),并填写一些描述文字。
  5. 保存。

直接修改系统文件(简单直接,但升级会失效)

这个方法最直接,不需要额外的插件,但缺点是当你升级 DedeCMS 程序时,这些修改的文件会被覆盖,需要重新修改。

操作步骤:

  1. 找到并打开 DedeCMS 安装目录下的文件: include/taglib/flink.lib.php

  2. 在这个文件中,找到大约第 58 行的 GetList 函数中的 SQL 查询语句,它看起来大概是这个样子:

    dede 友情链接 网站简况 调用
    (图片来源网络,侵删)
    // 原始代码
    $query = "SELECT id,webname,weburl,logo,linktype,ischeck FROM `#@__flink` WHERE ischeck=1 $addorder";
  3. 修改这个 SQL 语句,在 SELECT 后面加上 info 字段(info 就是存储“网站简况”的字段名)。

    // 修改后的代码
    $query = "SELECT id,webname,weburl,logo,linktype,ischeck,info FROM `#@__flink` WHERE ischeck=1 $addorder";
  4. 保存并关闭 flink.lib.php 文件。

  5. 你就可以在模板文件中使用 field:info 来调用网站简况了。

模板调用示例:

dede 友情链接 网站简况 调用
(图片来源网络,侵删)
{dede:flink row='10' type='text'}
  <a href="[field:link/]" title="[field:webname/] - [field:info/]">
    [field:webname/]
    <br />
    <span class="site-info">[field:info/]</span>
  </a>
{/dede:flink}

代码解释:

  • [field:link/]: 友情链接的 URL。
  • [field:webname/]: 友情链接的网站名称。
  • [field:info/]: 这里就是调用的“网站简况”内容。"[field:webname/] - [field:info/]":将网站名称和简况一起放入链接的title` 属性中,鼠标悬停时可以看到,对 SEO 和用户体验友好。

使用自定义函数(推荐,更安全、更灵活)

这是更推荐的方法,因为它不修改核心程序文件,所以即使你升级 DedeCMS,你的修改也不会丢失,这个方法通过自定义一个函数来实现。

操作步骤:

  1. 创建自定义函数文件: 在你的 DedeCMS 安装目录下,找到 include/extend.func.php 文件,如果这个文件不存在,请自己创建一个。 在这个文件的末尾,添加以下 PHP 函数代码:

    /**
     * 获取友情链接的网站简况
     * @param int $id 友情链接的ID
     * @return string 网站简况内容
     */
    function GetFlinkInfo($id)
    {
        global $dsql;
        $info = '';
        $query = "SELECT info FROM `#@__flink` WHERE id = $id";
        $dsql->Execute('me', $query);
        if($row = $dsql->GetArray('me'))
        {
            $info = $row['info'];
        }
        return $info;
    }
  2. 在模板中调用: 你可以在任何模板文件中使用 {dede:flink} 标签,并通过自定义的函数来获取简况。

模板调用示例:

{dede:flink row='10' type='text'}
  <a href="[field:link/]" title="[field:webname/] - [field:info/]">
    [field:webname/]
    <br />
    <span class="site-info">
      [field:id function='GetFlinkInfo(@me)'/]
    </span>
  </a>
{/dede:flink}

代码解释:

  • [field:id function='GetFlinkInfo(@me)'/] 是关键。
    • @me: 代表当前标签(这里是 {dede:flink})循环到的这条记录的 ID 值。
    • function='GetFlinkInfo(@me)': 调用我们刚刚在 extend.func.php 中定义的 GetFlinkInfo 函数,并将当前记录的 ID 作为参数传递给它。
    • 函数执行后,就会返回对应的 info 字段内容,并显示在模板中。

两种方法对比

特性 方法一 (修改核心文件) 方法二 (自定义函数)
优点 简单直接,无需额外代码。 安全,不修改核心文件,升级无忧。
缺点 不安全,升级 DedeCMS 后会失效,需重新修改。 稍微复杂一点,需要创建和编辑函数文件。
推荐度 ⭐⭐ (仅适用于临时或个人测试) ⭐⭐⭐⭐⭐ (强烈推荐用于所有正式项目)

对于长期维护的网站,强烈建议你使用 方法二(自定义函数),它虽然比方法一多了一个步骤,但一劳永逸,避免了未来程序升级带来的麻烦,是更专业、更规范的做法。

-- 展开阅读全文 --
头像
Powerscript如何调用C语言?
« 上一篇 今天
dede list如何调用自定义标签?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]