如何在模板中获取并显示网站的系统配置信息?

在网站运营中,我们经常需要展示一些全局性的网站信息,例如网站名称、Logo、备案号、版权声明,甚至是自定义的联系方式或社交媒体链接。这些信息如果直接硬编码在模板中,一旦需要修改,就得逐个页面查找并更新,耗时耗力且容易出错。安企CMS提供了一个非常强大且便捷的模板标签——system标签,让这些系统配置信息得以在模板中动态获取和展示,大大提升了网站的可维护性和运营效率。

system 标签:网站信息的便捷入口

system标签是安企CMS专门用于获取后台“全局功能设置”中各项配置的核心工具。通过它,你可以在网站模板的任何位置灵活地调用网站名称、Logo、基础链接等一系列重要的系统级数据。

它的基本使用方式非常直观:{% system 变量名称 with name="字段名称" %}

这里,name="字段名称"用于指定你希望获取的具体系统配置项,而变量名称是可选的。如果你提供了变量名称,该配置项的值会被存储在这个变量中,你可以在后续的代码中使用{{变量名称}}来输出;如果你没有提供变量名称,system标签会直接将配置值输出到当前位置。

除了获取当前站点的信息,system标签还支持一个siteId参数。如果你正在进行多站点管理,并且需要调用其他站点的系统配置,可以通过siteId来指定目标站点。但在大多数情况下,我们通常只需要获取当前站点的信息,所以这个参数可以忽略。

获取常用的系统配置信息

接下来,我们来看看system标签能够获取哪些具体的配置,以及如何在模板中调用它们。

网站名称 (SiteName)

这是网站最基本的标识,通常显示在浏览器标题栏、Logo旁或页脚。

{# 直接输出网站名称 #}
<div>网站名称:{% system with name="SiteName" %}</div>
{# 将网站名称赋值给变量并输出 #}
<div>网站名称:{% system currentSiteName with name="SiteName" %}{{currentSiteName}}</div>

网站 Logo (SiteLogo)

网站的品牌标志,通常是一个图片链接。

{# 直接输出Logo图片,并使用网站名称作为alt属性,提升SEO #}
<img src="{% system with name="SiteLogo" %}" alt="{% system with name="SiteName" %}" />
{# 将Logo链接赋值给变量,再构建图片标签 #}
{% system siteLogoPath with name="SiteLogo" %}
<img src="{{siteLogoPath}}" alt="{% system with name="SiteName" %}" />

网站备案号 (SiteIcp)

根据国家法规要求,备案信息通常显示在网站页脚。

{# 显示备案号,并链接到工信部备案查询平台 #}
<p><a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">{% system with name="SiteIcp" %}</a></p>

版权内容 (SiteCopyright)

用于页脚的版权声明,可以包含年份、公司名称等。

{# 直接输出版权信息,注意使用safe过滤器以防HTML内容被转义 #}
<div>{% system with name="SiteCopyright"|safe %}</div>
{# 赋值给变量并输出 #}
{% system copyrightInfo with name="SiteCopyright" %}
<div>{{copyrightInfo|safe}}</div>

网站首页地址 (BaseUrl)

这是网站的根URL,在构建绝对链接时非常有用。

{# 获取网站首页地址,用于构建返回首页的链接 #}
<a href="{% system with name="BaseUrl" %}" class="home-link">返回首页</a>

网站手机端地址 (MobileUrl)

如果你的网站启用了独立的手机端域名(在后台“全局功能设置”中配置),可以在这里获取。

{# 在PC端判断并提供手机端链接,引导用户切换 #}
{% system mobileSiteUrl with name="MobileUrl" %}
{% if mobileSiteUrl %}
    <a href="{{mobileSiteUrl}}" class="mobile-version-link">访问手机版</a>
{% endif %}

模板静态文件地址 (TemplateUrl)

用于链接模板目录下如CSS、JS、图片等静态资源,确保路径正确。

{# 链接模板目录下的样式表 #}
<link href="{% system with name="TemplateUrl" %}/css/style.css" rel="stylesheet">
{# 链接模板目录下的JavaScript文件 #}
<script src="{% system with name="TemplateUrl" %}/js/main.js"></script>

闭站提示内容 (SiteCloseTips)

当网站处于维护或关闭状态时,系统会显示此处配置的提示信息。

{# 在网站维护页面显示闭站提示 #}
<div class="maintenance-message">
    <p>{% system with name="SiteCloseTips" %}</p>
</div>

站点语言 (Language)

指示当前网站使用的语言,常用于<html>标签的lang属性。

{# 在HTML根标签中设置语言属性 #}
<html lang="{% system with name='Language' %}">

自定义参数

安企CMS的强大之处还在于其高度的可定制性。在后台的“全局功能设置”中,你可以添加任意数量的自定义参数,以满足模板中个性化的调用需求。例如,你可能想添加一个“微信公众号二维码”或“帮助页面链接”等未内置的配置项。

假设你在后台创建了一个名为HelpPageUrl的自定义参数,值为https://www.yourdomain.com/help。在模板中,你可以这样调用:

{# 调用自定义的帮助页面链接 #}
<a href="{% system with name="HelpPageUrl" %}">访问帮助中心</a>
{# 将自定义参数赋值给变量 #}
{% system helpLink with name="HelpPageUrl" %}
<p>更多信息请点击:<a href="{{helpLink}}">{{helpLink}}</a></p>

实践建议与灵活运用

合理利用system标签,能让你的网站模板更加灵活。你可以在公共头部文件(如partial/header.html)中调用SiteNameSiteLogoTemplateUrl,在页脚文件(如partial/footer.html)中调用SiteIcpSiteCopyright,并将自定义的联系方式或社交媒体链接通过自定义参数的形式统一管理。这样,一旦某个信息需要更新,只需在后台修改一次,所有调用该信息的页面都会自动同步更新,大大减少了人工干预的成本和出错的风险。

此外,system标签获取的信息是动态的,这意味着当你在后台更改配置时,前端页面会立即反映这些变化(除非有缓存机制介入,但通常刷新页面即可看到)。这对于网站的日常维护和快速响应市场变化至关重要。

通过这种方式,安企CMS不仅提供了强大的内容管理能力,更通过system标签等一系列灵活的模板工具,赋予了网站运营者高度的掌控力,让网站管理变得前所未有的轻松和高效。


常见问题 (FAQ)

1. 我在后台修改了系统设置,但前端页面没有立即更新,这是为什么? 安企CMS通常会通过缓存机制来提高网站的访问速度。如果你在后台修改了系统配置,但前端页面没有立即显示新内容,可能是因为缓存尚未刷新。尝试清除浏览器缓存,或在安企CMS后台找到“更新缓存”功能并执行,通常就能看到最新的配置。

2. 在模板中使用system标签调用自定义参数时,name属性应该怎么填写? name属性的值应该与你在后台“全局功能设置”中添加自定义参数时填写的“参数名”完全一致。请注意,安企CMS对参数名的大小写是敏感的,并且它会自动将输入的字母转换为驼峰命名法(例如,你输入help page url可能会被系统处理为HelpPageUrl),因此请确保模板中的name与后台实际存储的参数名匹配。

3. BaseUrlTemplateUrl有什么区别?我应该在什么时候使用它们? BaseUrl是网站的根地址,例如https://www.yourdomain.com/,它主要用于构建站内页面的绝对链接,确保无论用户从哪个页面跳转,都能正确导向目标页面。TemplateUrl则是当前活动模板目录的URL,例如https://www.yourdomain.com/template/default/,它主要用于引用模板内部的静态资源,如CSS、JavaScript文件或图片,确保这些资源能够被浏览器正确加载。简单来说,BaseUrl是网站内容导航的基础,TemplateUrl是模板资源加载的基础。