如何使用AnQiCMS模板标签获取网站的系统配置信息(如网站名称、Logo)?

作为一名资深的安企CMS网站运营人员,我深知在构建和维护一个高效、美观的网站时,能够灵活地调用系统配置信息的重要性。这些信息,如网站名称、Logo、备案号等,是网站品牌标识和基础运行不可或缺的部分。安企CMS为此提供了强大而直观的模板标签,让您能够轻松地在网站模板中获取并展示这些系统级的配置信息。

获取网站系统配置的核心:system 标签

在AnQiCMS的模板体系中,{% system %} 标签是专门用于获取网站系统配置信息的工具。它允许您通过指定参数名来调用后台“全局功能设置”中配置的各项数据。这不仅包括了网站的基础信息,也涵盖了您可能自定义的特定参数。

使用 system 标签的基本语法是 {% system 变量名称 with name="字段名称" %}。其中,“字段名称”是您希望获取的特定配置项的英文标识。如果您不需要将获取到的值赋给一个变量,可以直接使用 {% system with name="字段名称" %} 来直接输出结果。

网站名称的获取与展示

网站名称是网站的门面。通常,它会在网页标题、页头、页脚等多个位置出现。通过 system 标签,您可以轻松地将其动态地插入到模板的任何位置。在后台“全局功能设置”中配置的“网站名称”对应 SiteName 字段。

例如,要在您的模板中显示网站名称,您可以这样使用 system 标签:

{# 直接输出网站名称 #}
<div>网站名称:{% system with name="SiteName" %}</div>

{# 将网站名称赋值给一个变量后输出 #}
{% system siteNameVariable with name="SiteName" %}
<div>网站名称(通过变量获取):{{ siteNameVariable }}</div>

这样,无论您在后台如何修改网站名称,前端页面都会自动同步更新,无需修改模板文件,极大地提高了维护效率。

网站Logo的获取与应用

网站Logo同样是品牌识别的核心元素。在AnQiCMS中,您可以在后台上传网站Logo,并通过 system 标签在模板中获取其URL地址,并将其应用于 <img> 标签中。后台配置的“网站Logo”对应 SiteLogo 字段。

以下是如何在模板中获取并展示网站Logo的示例:

{# 直接输出Logo图片 #}
<img src="{% system with name="SiteLogo" %}" alt="{% system with name="SiteName" %}" />

{# 将Logo的URL赋值给变量后输出 #}
{% system siteLogoUrl with name="SiteLogo" %}
<img src="{{ siteLogoUrl }}" alt="网站Logo" />

这里值得注意的是,我们通常会同时使用 SiteName 作为 alt 属性的值,这不仅有助于SEO,也提升了网站的可访问性。

其他常用系统配置信息

除了网站名称和Logo,AnQiCMS的 system 标签还提供了多种实用的配置信息供您调用:

  • 网站备案号 (SiteIcp):常用于页脚,链接到备案查询网站。
    
    <p><a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">{% system with name="SiteIcp" %}</a></p>
    
  • 版权内容 (SiteCopyright):通常用于页脚,展示网站的版权声明。
    
    <div>{% system with name="SiteCopyright" %}</div>
    
  • 网站首页地址 (BaseUrl):获取网站的根URL,便于构建绝对链接。
    
    <a href="{% system with name="BaseUrl" %}">返回首页</a>
    
  • 模板静态文件地址 (TemplateUrl):用于引用CSS、JavaScript等静态资源,确保路径正确。
    
    <link href="{% system with name="TemplateUrl" %}/css/style.css" rel="stylesheet">
    
  • 站点语言 (Language):例如 zh-CNen-US,可用于设置 <html> 标签的 lang 属性,有助于浏览器和搜索引擎理解页面内容语言。
    
    <html lang="{% system with name='Language' %}">
    
  • 自定义参数:在后台“全局功能设置”中,您可以添加自定义的参数名和参数值。例如,您添加了一个名为 HelpUrl 的参数,其值为“https://www.example.com/help”,那么在模板中就可以这样调用:
    
    <div>帮助页面链接:{% system with name="HelpUrl" %}</div>
    

多站点环境下的 siteId 参数

对于管理多个站点的AnQiCMS用户而言,system 标签还提供了一个 siteId 参数。这个参数通常不需要手动填写,因为它默认会自动获取当前站点的配置信息。然而,如果您需要在某个站点的模板中,调用其他站点的系统配置信息(例如,在一个主站的页面中展示某个子站点的Logo),那么您可以通过指定 siteId 来实现。

例如,获取ID为2的站点的网站名称:

{% system otherSiteName with name="SiteName" siteId="2" %}
<div>其他站点的名称:{{ otherSiteName }}</div>

总结

安企CMS的 {% system %} 模板标签是网站前端开发中获取全局配置信息的核心工具。它通过简洁的语法,让网站名称、Logo、备案号、版权信息等各类系统级配置得以动态展示,并支持自定义参数和多站点调用,极大地增强了模板的灵活性和可维护性。熟练运用这些标签,将帮助您更高效地构建和管理您的AnQiCMS网站。


常见问题解答 (FAQ)

1. 为什么我使用 {% system with name="SiteLogo" %} 标签后,前端没有显示Logo图片?

首先,请确保您已经在AnQiCMS后台的“全局功能设置”中上传并保存了网站Logo。其次,请检查您的模板代码,确保 <img> 标签的 src 属性正确使用了这个标签,并且 <img> 标签本身没有被CSS隐藏或者路径被其他错误覆盖。如果您使用的是多站点模式,并且是在调用其他站点的Logo,请确认是否正确使用了 siteId 参数。最后,清除浏览器缓存和AnQiCMS系统缓存后重试。

2. 我在后台“全局功能设置”中添加了一个自定义参数,例如 ContactEmail,但在模板中调用 {% system with name="ContactEmail" %} 却没有显示任何内容,是哪里出了问题?

请检查您在后台自定义参数时,参数名 字段是否与模板中 name 属性的值完全匹配。AnQiCMS模板标签对大小写敏感,所以 ContactEmailcontactEmail 会被视为不同的字段。此外,确保自定义参数的 参数值 不为空,且已保存。同样地,尝试清除AnQiCMS系统缓存和浏览器缓存。

3. {% system %} 标签中的 SiteIcpSiteCopyright 字段通常在网站的哪个位置使用?

SiteIcp(网站备案号)和 SiteCopyright(版权内容)通常都在网站的页脚(Footer)区域使用。备案号通常会带上指向工信部备案查询网站的链接,以满足法规要求;版权信息则用于声明网站内容的著作权。这有助于提升网站的专业性和合规性。