如何使用`system`标签获取并显示网站的全局信息,如网站名称、Logo和备案号?

在网站运营中,保持品牌形象的统一性和信息的准确性至关重要。安企CMS作为一款高效的内容管理系统,为我们提供了便捷的方式来管理和展示这些核心信息。今天,我们就来深入了解一下如何利用安企CMS的system标签,轻松地在网站模板中获取并显示网站的全局信息,例如网站名称、Logo和备案号。

理解system标签:网站信息的“提取器”

在安企CMS的模板体系中,system标签扮演着一个核心角色,它就像一个“网站信息提取器”,能够直接从后台全局设置中获取预设的各种网站配置数据。这些数据通常是全站通用的,比如网站的名称、联系方式、备案信息等,它们构成了网站的基础“身份”信息。

这些全局信息通常在安企CMS的后台“全局设置”中进行配置。你可以登录后台,在左侧导航栏找到“后台设置”下的“全局功能设置”,在这里就能找到网站名称、Logo图片上传、备案号码填写等选项。当你在这里修改了这些信息后,前端页面通过system标签就能实时同步更新。

如何使用system标签获取信息

system标签的使用方法非常直观,其基本语法是{% system 变量名称 with name="字段名称" %}

  • name="字段名称":这是最关键的部分,它告诉system标签你要获取哪一个具体的全局信息。例如,要获取网站名称,字段名称就是SiteName;要获取网站Logo,就是SiteLogo;要获取备案号,就是SiteIcp
  • 变量名称(可选):你可以选择将获取到的值赋给一个临时变量,以便在模板的后续部分多次引用,或者进行更复杂的逻辑处理。如果不需要赋值给变量,标签会直接输出该字段的值。
  • siteId(可选):对于启用了多站点管理的安企CMS实例,如果你需要在当前站点的模板中显示其他站点的全局信息,可以通过siteId参数指定目标站点的ID。通常情况下,我们只需要获取当前站点的全局信息,所以这个参数可以省略。

接下来,我们通过几个常见的例子,看看如何在实际模板中应用system标签。

1. 显示网站名称

网站名称通常出现在页面的<title>标签中,以及导航栏或页脚等位置,是网站最重要的标识之一。

在页面的<head>区域:

<title>{% system with name="SiteName" %} - 您的网站</title>

如果你希望在标题中附加网站名称,tdk标签提供了更便捷的方式,但如果只是纯粹显示网站名称,system标签同样适用。

在页面内容区域,例如网站的顶部导航栏或页脚:

<h1>欢迎来到 {% system with name="SiteName" %}</h1>

或者,先将网站名称赋值给一个变量再使用:

{% system siteName with name="SiteName" %}
<h1>{% if siteName %}{{ siteName }}{% else %}默认网站名称{% endif %}</h1>

这样做的好处是,可以在变量不存在时提供一个备用文本。

2. 显示网站Logo

网站Logo是品牌的视觉核心,通常位于页眉,用于强化品牌形象。

首先,在后台的“全局功能设置”中上传你的网站Logo图片。一旦上传,你就可以在模板中这样引用它:

<a href="/">
    <img src="{% system with name="SiteLogo" %}" alt="{% system with name="SiteName" %}" />
</a>

这里,我们不仅获取了Logo的图片路径,还巧妙地利用system标签获取网站名称作为图片的alt属性值,这对于SEO和可访问性都很有帮助。

3. 显示网站备案号

在中国大陆运营的网站,备案号是必不可少的信息,通常显示在网站的页脚。安企CMS同样提供了SiteIcp字段来管理这一信息。

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

这段代码会获取备案号并将其放置在一个链接中,指向工信部备案查询网站,符合国家规定。

其他常用全局信息

除了上述三项,system标签还可以获取其他有用的全局信息:

  • 版权内容 (SiteCopyright):通常用于页脚的版权声明。
    
    <p>{% system with name="SiteCopyright" %}</p>
    
  • 网站首页地址 (BaseUrl):在某些情况下需要动态生成链接,确保指向网站根目录。
    
    <link rel="canonical" href="{% system with name="BaseUrl" %}" />
    
  • 模板静态文件地址 (TemplateUrl):如果你需要在模板中引用当前模板目录下的CSS、JS或其他资源,可以使用这个字段来构建正确的路径。
    
    <link href="{% system with name="TemplateUrl" %}/css/style.css" rel="stylesheet">
    

实践中的小贴士

在使用system标签时,建议将这些全局信息放置在网站的公共模板文件(如partial/header.htmlpartial/footer.html,如果你的模板采用这种结构)中。这样,当你修改后台的全局设置时,所有引用这些公共文件的页面都能自动更新,无需手动修改每个页面,大大提高了维护效率。

总结

system标签是安企CMS模板开发中一个基础且强大的工具,它使得网站的全局配置与前端展示解耦,让内容运营者能够专注于后台设置,而无需触碰代码。通过灵活运用system标签,我们可以轻松地构建出统一、专业且易于管理的网站。


常见问题 (FAQ)

Q1:除了网站名称、Logo和备案号,system标签还能获取哪些全局信息? A1:system标签可以获取后台“全局功能设置”中所有预设的字段,包括网站名称、Logo、备案号、版权内容、网站首页地址、手机端地址、模板静态文件地址、模板目录名、闭站提示内容、站点语言等。此外,如果你在后台“全局功能设置”中添加了自定义参数,也可以通过name="你自定义的参数名"来获取。

Q2:我的安企CMS安装了多个站点,我如何在主站的模板中显示子站点的Logo? A2:system标签支持siteId参数。你可以通过指定子站点的ID来获取其全局信息。例如,如果你的子站点ID是2,你可以这样获取其Logo:{% system subSiteLogo with name="SiteLogo" siteId="2" %}。你需要确保获取到了正确的siteId

Q3:我修改了后台的Logo或网站名称,但前台页面没有更新,这是为什么? A3:这通常是因为浏览器缓存或服务器缓存导致的。首先尝试清空浏览器缓存(硬刷新页面),如果仍然无效,可以登录安企CMS后台,点击左侧菜单的“更新缓存”按钮,清理系统缓存。如果你的网站使用了CDN,可能还需要清理CDN缓存。