如何通过AnQiCMS模板标签获取并显示网站的系统配置信息?

在安企CMS中,网站的系统配置信息是网站运行的基础,包含网站名称、Logo、备案号、地址等核心数据。这些信息通常需要在网站的各个页面(如页眉、页脚、联系我们页面等)动态展示,保持一致性。为了方便模板开发者和内容运营者高效地管理和显示这些信息,AnQiCMS 提供了一个简洁而强大的模板标签,让您能够灵活地获取并显示网站的系统配置。

安企CMS的系统设置在哪里?

首先,我们来了解一下这些系统配置信息在后台是如何管理的。在安企CMS的后台管理界面,您可以通过导航菜单进入“后台设置”下的“全局功能设置”页面。这里汇集了网站的核心配置项,例如:

  • 网站名称:通常显示在浏览器标题、页眉等位置。
  • 网站 Logo:网站的品牌标志。
  • 网站首页地址:网站访问的根 URL。
  • 移动端地址:如果启用了独立的手机端站点,则会有此配置。
  • 模板静态文件地址:用于加载 CSS、JavaScript 和图片等静态资源。
  • 网站备案号:符合法规要求的备案信息。
  • 版权内容:显示在页脚的版权声明。
  • 站点语言:网站的默认语言设置。
  • 自定义参数:您可以根据业务需求灵活添加的额外配置项。

这些设置的集中管理,确保了网站信息的一致性,也大大降低了手动修改模板文件的工作量。当您在后台更新这些信息时,前端页面会立即同步显示最新内容。

核心:system 模板标签的使用方法

在 AnQiCMS 的模板中,获取并显示这些系统配置信息的关键就是 system 模板标签。这个标签的设计非常直观,其基本语法如下:

{% system 变量名称 with name="字段名称" %}

或者,如果您只是想直接输出某个字段的值,可以省略 变量名称

{% system with name="字段名称" %}

在这里:

  • 变量名称 是一个可选参数,允许您将获取到的配置值赋值给一个自定义变量,方便在后续模板逻辑中多次引用或进行复杂处理。
  • name="字段名称" 是必填参数,用于指定您想要获取的具体系统配置项。这里的“字段名称”就是后台“全局功能设置”中各项配置的英文标识符,例如 SiteNameSiteLogo 等。
  • 如果您部署了多站点,并且需要获取指定站点的系统配置,可以通过添加 siteId 参数来指定站点 ID,例如 {% system with name="SiteName" siteId="2" %}。在多数单站点场景下,这个参数通常不需要填写。

常用系统配置信息的获取与展示

接下来,我们通过一些常见的例子,看看如何在您的 AnQiCMS 模板中灵活运用 system 标签来获取并显示这些系统配置信息。

1. 显示网站名称 (SiteName)

网站名称是识别网站身份的重要标识,通常显示在网页的 <title> 标签内或页眉的显著位置。

<title>{% tdk with name="Title" siteName=true %}</title> {# 结合 TDK 标签获取标题并带上网站名称 #}
{# 或者直接获取网站名称 #}
<h1>欢迎访问:{% system with name="SiteName" %}</h1>
{# 赋值给变量再使用 #}
{% system websiteName with name="SiteName" %}
<p>我们的网站是:{{ websiteName }}</p>

在上面的例子中,我们展示了两种获取网站名称的方式:一种是直接通过 system 标签输出,另一种是先赋值给 websiteName 变量再使用。同时,我们也看到了如何结合 tdk 标签来自动生成包含网站名称的页面标题。

2. 展示网站 Logo (SiteLogo)

网站 Logo 是品牌形象的象征。您可以在页眉处放置 Logo,并结合网站名称作为 alt 属性,以提升 SEO 和可访问性。

<a href="{% system with name="BaseUrl" %}">
    <img src="{% system with name="SiteLogo" %}" alt="{% system with name="SiteName" %}" />
</a>
{# 赋值给变量再使用,并确保 Logo 存在才显示 #}
{% system siteLogoPath with name="SiteLogo" %}
{% system siteDisplayName with name="SiteName" %}
{% if siteLogoPath %}
    <img src="{{ siteLogoPath }}" alt="{{ siteDisplayName }}" class="header-logo" />
{% endif %}

这里我们还加入了 if 判断,确保只有当 Logo 图片路径存在时才渲染 <img> 标签,避免显示破损图片。

3. 获取网站首页地址 (BaseUrl)

在模板中构建内部链接时,网站首页地址是基础。使用 BaseUrl 标签可以确保链接的正确性,即使网站域名发生变化,也只需修改后台配置即可。

<nav>
    <a href="{% system with name="BaseUrl" %}">首页</a>
    {# ...其他导航链接... #}
</nav>

4. 引用模板静态文件地址 (TemplateUrl)

您的模板可能依赖于特定的 CSS 样式表、JavaScript 脚本或图片资源。TemplateUrl 标签能帮助您构建正确的静态文件路径,适配不同的部署环境。

<link rel="stylesheet" href="{% system with name="TemplateUrl" %}/css/style.css">
<script src="{% system with name="TemplateUrl" %}/js/main.js"></script>

5. 显示网站备案号 (SiteIcp)

对于需要显示备案信息的网站,SiteIcp 标签可以在页脚等位置方便地输出备案号,并通常会链接到工业和信息化部网站。

<p>
    <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">{% system with name="SiteIcp" %}</a>
</p>

6. 展示版权内容 (SiteCopyright)

网站页脚的版权声明是常见内容。如果后台配置的版权信息可能包含 HTML 标签(例如加粗、链接),别忘了使用 safe 过滤器来确保内容被正确解析而不是转义。

<footer>
    <p>{% system copyrightInfo with name="SiteCopyright" %}{{ copyrightInfo|safe }}</p>
</footer>

7. 设置站点语言 (Language)

在 HTML 文档的 <html> 标签中设置 lang 属性对多语言支持和 SEO 都很重要。

<html lang="{% system with name='Language' %}">
{# ... #}
</html>

8. 调用自定义参数

AnQiCMS 的“全局功能设置”允许您添加自定义参数。如果您创建了一个名为 HelpUrl 的自定义参数来存储帮助页面的链接,可以通过以下方式调用:

<a href="{% system with name="HelpUrl" %}">帮助中心</a>

通过这些实例,您可以看到 system 模板标签如何帮助您轻松地在 AnQiCMS 模板中动态获取和显示网站的各种系统配置信息。这不仅提高了模板的灵活性和可维护性,也使得网站运营变得更加高效。

常见问题 (FAQ)

Q1:为什么我调用 {% system with name="SiteLogo" %} 后,前端图片没有显示出来?

A1: 这通常有几个原因。首先,请检查您是否在后台“全局功能设置”中正确上传并配置了“网站LOGO”图片。如果后台没有设置,标签自然无法获取到值。其次,检查图片路径是否正确,以及服务器上的图片文件是否存在且可访问。如果图片是远程链接,还需要确保链接有效。在一些情况下,您可能需要手动清除浏览器缓存来确保加载最新资源。

Q2:我可以在模板中获取到后台“联系方式设置”或“首页 TDK 设置”里的信息吗?它们也是系统配置的一部分。

A2: 当然可以。虽然这些信息也属于网站的系统级配置,但 AnQiCMS 为了更好地组织和管理,为它们提供了专门的模板标签。例如,您可以使用 {% contact with name="Cellphone" %} 来获取联系电话,使用 {% tdk with name="Keywords" %} 来获取首页关键词。文章中介绍的 system 标签主要用于“全局功能设置”中的通用系统参数,而更具体的信息则由对应的