在网站运营中,友情链接扮演着连接彼此、促进流量、提升搜索引擎排名的重要角色。一个维护良好、显示清晰的友情链接区域,不仅能体现网站的开放性,也能为用户提供更多有价值的跳转路径。安企CMS(AnQiCMS)为用户提供了便捷的友情链接管理功能,让您能够轻松获取并在网站上展示这些链接。

管理您的友情链接:后端设置

在着手前端展示之前,我们需要确保友情链接已经在安企CMS的后台进行了配置。通常,您可以在后台的“功能管理”菜单中找到“友情链接”这一项。在这里,您可以进行如下操作:

  • 添加新链接:输入友情链接的名称(Title)、实际指向的网址(Link)、简短的备注(Remark)以及是否需要添加 rel="nofollow" 属性。
  • 编辑现有链接:对已添加的链接进行修改。
  • 删除链接:移除不再需要的链接。
  • 排序:根据您的需求调整链接的显示顺序,确保最重要的链接能优先展示。

这些后台设置是您网站前端显示友情链接的基础。一旦链接信息录入完毕,我们就可以通过模板标签在网站页面上调用并展示它们了。

利用 linkList 标签获取友情链接数据

安企CMS采用类Django模板引擎的语法,这意味着您可以通过简洁明了的标签来获取和操作数据。要获取友情链接列表,我们需要使用内置的 linkList 标签。

这个标签的使用方式非常直观。您只需要在模板中指定一个变量名来接收友情链接数据,如下所示:

{% linkList friendLinks %}
    {# 在这里处理您的友情链接数据 #}
{% endlinkList %}

在这里,friendLinks 就是我们为友情链接列表指定的一个变量名。当 linkList 标签执行时,它会从后台获取所有已配置的友情链接,并将这些链接组织成一个“数组对象”,赋值给 friendLinks 变量。

对于大多数单站点用户而言,linkList 标签无需额外参数即可获取当前站点的友情链接。如果您管理着多个站点并希望调用其他站点的友情链接,可以考虑使用 siteId 参数来指定特定站点的ID。但在常规情况下,这通常不是必需的。

展示友情链接:解析与应用关键字段

获取到 friendLinks 数组后,我们需要对其进行遍历,将每个友情链接的信息呈现在网页上。由于 friendLinks 是一个数组对象,我们通常会结合 for 循环来逐一处理每个链接。

for 循环中,每个友情链接对象(这里我们假设循环变量为 item)会包含以下几个关键字段:

  • item.Title:友情链接的显示名称。
  • item.Link:友情链接的目标URL地址。
  • item.Remark:友情链接的备注信息,有时可以作为 title 属性显示在链接上。
  • item.Nofollow:一个布尔值(通常为0或1),表示该链接是否应该带有 rel="nofollow" 属性。这个属性告诉搜索引擎不要追踪这个链接,在SEO中用于控制权重传递。

有了这些字段,我们就可以构建标准的 HTML <a> 标签来显示友情链接了。

以下是一个完整的模板代码示例,展示了如何在您的网站页面上优雅地显示友情链接列表:

{# 友情链接区域的开始 #}
<div class="friendship-links">
    <h3>友情链接</h3>
    {% linkList friendLinks %}
        {% if friendLinks %} {# 检查是否有友情链接数据 #}
            <ul>
                {% for item in friendLinks %}
                    <li>
                        <a href="{{ item.Link }}" 
                           {% if item.Nofollow == 1 %} rel="nofollow" {% endif %} 
                           target="_blank" 
                           title="{{ item.Remark }}">
                            {{ item.Title }}
                        </a>
                    </li>
                {% endfor %}
            </ul>
        {% else %}
            <p>暂无友情链接,敬请期待!</p> {# 当没有友情链接时的提示 #}
        {% endif %}
    {% endlinkList %}
</div>
{# 友情链接区域的结束 #}

在这段代码中,我们首先使用一个 div 元素包裹整个友情链接区域,并给它一个类名(例如 friendship-links),方便您通过CSS进行样式控制。

  • {% linkList friendLinks %}{% endlinkList %} 定义了数据获取的范围。
  • {% if friendLinks %} 语句是一个非常重要的判断,它会检查 friendLinks 变量是否为空。如果为空(即后台没有设置任何友情链接),它将显示“暂无友情链接,敬请期待!”的提示,避免页面出现空白或错误。
  • for 循环内部,{{ item.Link }} 负责生成链接地址,{{ item.Title }} 生成可见的链接文本。
  • {% if item.Nofollow == 1 %} rel="nofollow" {% endif %} 这一行代码会根据后台的设置,智能地为链接添加或不添加 rel="nofollow" 属性。
  • target="_blank" 属性让链接在新窗口或新标签页中打开,提升用户体验。
  • title="{{ item.Remark }}" 则将链接的备注信息显示为鼠标悬停时的提示文本。

通过这种方式,您可以在网站的页脚、侧边栏或专门的“友情链接”页面等位置,灵活地展示您的友情链接列表。

常见问题 (FAQ)

1. 如果我的网站后台没有设置任何友情链接,前端页面会显示什么?

当后台没有配置任何友情链接时,linkList 标签获取到的 friendLinks 变量将是一个空数组。在我们的示例代码中,通过 {% if friendLinks %} 这个条件判断,页面会优雅地显示“暂无友情链接,敬请期待!”这样的提示信息,而不是出现空白区域或错误,从而保持网站界面的友好性。

2. 友情链接是否支持直接显示图片Logo而不是文字?

安企CMS的 linkList 标签原生提供的字段(TitleLinkRemarkNofollow)中,并没有直接用于存储图片URL的字段。这意味着您不能通过简单的字段调用直接显示图片Logo。如果您需要展示图片Logo,一种变通方法是将 <img> 标签的HTML代码直接写入到友情链接的“名称”(Title)字段中。然而,这种做法会使后台管理界面显得不那么整洁,且不利于内容和样式的分离。对于更高级的需求,可能需要考虑模板层面的定制化开发。

3. 友情链接的显示顺序可以自定义吗?

是的,友情链接的显示顺序是可以通过安企CMS后台的“功能管理”->“友情链接”界面进行调整的。通常,后台会提供拖拽排序或设置排序权重的功能,让您可以根据重要性或合作关系来安排友情链接的展示次序。linkList 标签在获取数据时会尊重后台的排序设置,因此您无需在模板中额外编写排序逻辑。