在网站模板中灵活地调用系统全局配置信息,是构建动态且易于维护网站的关键一步。安企CMS(AnQiCMS)深知这一需求,因此在设计之初就提供了强大且直观的模板标签,让用户能够轻松地在页面任何位置展示预设的系统级数据、联系方式乃至自定义信息。
安企CMS的模板系统采用了类似Django模板引擎的语法,其中变量通常使用双花括号 {{ 变量名 }} 来定义,而各种操作和标签则通过单花括号和百分号 {% 标签名 %} 来实现。这种设计确保了模板代码的清晰易读。要调用全局配置信息,我们主要会用到 system、contact 和 tdk 这三个核心标签,以及一个用于完全自定义内容的 diy 标签。
调用系统级别的基础配置信息(system 标签)
当我们需要在网站的页头、页脚或任何通用区域显示网站名称、Logo、备案号等基础信息时,system 标签便是我们的得力助手。这个标签能够从后台的“全局设置”中获取预设的数据。
例如,要显示网站的名称,我们可以在模板中这样编写:
<title>{{ title }} - {% system with name="SiteName" %}</title>
这段代码会先获取当前页面的标题,然后附加在后台设置的网站名称之后。如果你想获取Logo图片并展示出来,可以这样做:
<a href="{% system with name="BaseUrl" %}">
<img src="{% system with name="SiteLogo" %}" alt="{% system with name="SiteName" %}" />
</a>
这里我们不仅展示了Logo图片,还将其包装成一个链接,指向网站的首页地址。类似的,网站的备案号 (SiteIcp) 和版权信息 (SiteCopyright) 也能被轻松调用:
<p>
<a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">{% system with name="SiteIcp" %}</a>
{% system with name="SiteCopyright" %}
</p>
此外,system 标签还能获取到网站的基础URL (BaseUrl)、移动端URL (MobileUrl)、当前模板的静态文件路径 (TemplateUrl) 以及站点语言 (Language) 等信息,方便进行资源引用和多语言适配。例如,引用模板CSS文件时:
<link href="{% system with name="TemplateUrl" %}/css/style.css" rel="stylesheet">
值得一提的是,如果你在安企CMS后台启用了多站点管理功能,并且希望在当前模板中调用其他站点的数据,可以通过 siteId 参数来指定,例如 {% system with name="SiteName" siteId="2" %}。
调用网站联系方式(contact 标签)
网站的联系信息,如电话、地址、邮箱、社交媒体链接等,往往需要统一管理并在多个页面展示。contact 标签就是为此而生,它直接从后台的“联系方式设置”中获取数据。
要显示网站的联系电话,我们可以这样:
<div>联系电话:{% contact with name="Cellphone" %}</div>
或者联系邮箱:
<div>邮箱:<a href="mailto:{% contact with name="Email" %}">{% contact with name="Email" %}</a></div>
如果后台配置了微信二维码,展示也非常简单:
<div>
<img src="{% contact with name="Qrcode" %}" alt="微信二维码" />
</div>
contact 标签不仅支持这些内置字段,还允许用户在后台“联系方式设置”中自定义参数,比如添加一个“WhatsApp联系方式”。一旦定义,它就能像内置字段一样被调用:
<div>WhatsApp:{% contact with name="WhatsApp" %}</div>
控制页面的SEO元信息(tdk 标签)
SEO(搜索引擎优化)对于网站的可见性至关重要。页面的title、keywords和description是其中不可或缺的部分。tdk 标签专门用于获取这些元信息,并支持灵活的展示方式。这些信息同样来自后台的“首页TDK设置”或各内容详情页的SEO配置。
在 <head> 区域,我们通常这样使用 tdk 标签:
<title>{% tdk with name="Title" siteName=true sep="_" %}</title>
<meta name="keywords" content="{% tdk with name="Keywords" %}">
<meta name="description" content="{% tdk with name="Description" %}">
这里,Title 标签的 siteName=true 会自动将网站名称添加到页面标题之后,sep="_" 则定义了标题与网站名称之间的分隔符。
对于规范链接(Canonical URL),这是一个重要的SEO**实践,用于避免重复内容问题。tdk 标签也能获取它,但通常我们会先判断其是否存在:
{%- tdk canonical with name="CanonicalUrl" %}
{%- if canonical %}
<link rel="canonical" href="{{canonical}}" />
{%- endif %}
这样可以确保只在有必要时才输出规范链接标签。
灵活自定义全局变量(diy 标签和自定义参数)
除了上述标准化的配置信息,有时我们可能需要在后台定义一些完全自定义的全局变量,例如某个营销活动的链接、某个通知文本等。安企CMS提供了两种方式实现这种自定义:
在
system或contact标签中添加自定义参数: 就像我们在contact标签中添加WhatsApp一样,在“全局功能设置”或“联系方式设置”中添加自定义参数(例如HelpUrl)。然后通过相应的system或contact标签以name="HelpUrl"的形式调用。<div>帮助页面:{% system with name="HelpUrl" %}</div>使用
diy标签:diy标签是一个更通用的自定义内容标签,它直接对应后台中用户自定义的任何全局字段。比如在后台我们定义了一个名为
Author的参数,在模板中可以这样获取:<div>网站作者:{% diy with name="Author" %}</div>
这种灵活的自定义功能,让我们可以根据网站的特定需求,扩展和调用各种个性化的全局配置。
通过这些内置的模板标签,安企CMS极大地简化了全局配置信息的调用过程。我们只需在后台设置好相应的值,然后在模板中用简洁的标签语法引用,就能实现网站内容的动态展示和高效管理。这不仅提高了开发效率,也使得网站的后期维护和内容更新变得更加便捷。
常见问题 (FAQ)
- **问:如果我在后台修改了某个全局配置,但前台页面