在安企CMS中,网站的灵活性和可维护性是其核心优势之一。内容运营者和开发者常常需要在不修改模板代码的情况下,动态调整网站的一些全局信息,比如公司名称、联系电话,甚至是某些营销活动链接。这些在后台自定义的全局参数,正是实现这种需求的关键。
今天,我们就来深入了解如何在安企CMS的模板中,轻松获取并展示这些在后台配置的自定义全局参数。
为什么需要全局参数?
想象一下,如果您的网站需要更改公司名称或电话号码,而这些信息硬编码在几十个模板文件中,那么每次修改都将是一项耗时且容易出错的工作。全局参数的出现,正是为了解决这样的问题。它允许您在网站后台统一管理这些常用信息,当信息发生变化时,只需在后台修改一次,所有调用了该参数的页面都会自动更新,大大提升了运营效率和网站的可维护性。
后台如何设置全局参数?
安企CMS提供了几个地方供您设置全局参数,其中最常用的是“后台设置”下的“全局功能设置”和“联系方式设置”。
全局功能设置 在“后台设置” -> “全局功能设置”中,除了网站名称、网站Logo、备案号等系统内置的参数外,您还可以通过“自定义设置参数”来添加更多专属的全局参数。
- 点击“添加参数”,输入“参数名”(这是在模板中调用时使用的唯一标识,建议使用英文,系统会自动将其转换为驼峰命名),填入“参数值”(您希望显示的内容),并添加“备注”方便日后管理。例如,您可以添加一个名为
HelpUrl的参数,值为https://www.anqicms.com/help。
- 点击“添加参数”,输入“参数名”(这是在模板中调用时使用的唯一标识,建议使用英文,系统会自动将其转换为驼峰命名),填入“参数值”(您希望显示的内容),并添加“备注”方便日后管理。例如,您可以添加一个名为
联系方式设置 类似地,“后台设置” -> “联系方式设置”也支持自定义参数。这里通常用于管理电话、邮箱、微信等联系信息。
- 您可以添加诸如
WhatsApp这样的自定义参数,并填入您的WhatsApp联系号码。
- 您可以添加诸如
这些设置完成后,这些自定义参数就如同系统内置参数一样,可以在前端模板中被灵活调用。
在模板中获取全局参数
安企CMS的模板引擎支持类似Django的标签语法,您可以通过特定的标签来获取后台设置的全局参数。核心标签主要有 system、contact 和 diy。
1. 获取系统级全局参数(system 标签)
system 标签专门用于获取在“全局功能设置”中配置的参数,无论是内置的还是自定义的。
基本用法: {% system 变量名称 with name="字段名称" %}
这里,字段名称就是您在后台设置的“参数名”。
直接输出内置参数: 如果您想在页面底部显示备案号,可以直接这样写:
<p><a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">{% system with name="SiteIcp" %}</a></p>这里,
SiteIcp是安企CMS内置的备案号参数名。输出自定义参数并赋给变量: 假设您在后台全局设置中定义了一个名为
HelpUrl的自定义参数,您可以在模板中这样获取并使用它:{% system helpPageUrl with name="HelpUrl" %} <a href="{{ helpPageUrl }}">查看帮助文档</a>通过
with关键字,您可以将获取到的参数值赋值给helpPageUrl这个变量,然后在模板中多次使用。获取当前年份: 此外,
system标签还有一个辅助功能,就是获取当前年份,这在版权信息中非常实用:<p>© {% now "2006" %} {{ siteName }}. All Rights Reserved.</p>这里
{% now "2006" %}会显示当前年份。
2. 获取联系方式全局参数(contact 标签)
contact 标签用于获取在“联系方式设置”中配置的参数,包括内置的联系方式和您自定义的参数。
基本用法: {% contact 变量名称 with name="字段名称" %}
直接输出内置联系电话:
<span>联系电话:{% contact with name="Cellphone" %}</span>这里,
Cellphone是安企CMS内置的联系电话参数名。输出自定义WhatsApp参数: 假设您在后台联系方式设置中添加了一个名为
WhatsApp的自定义参数:{% contact whatsappNumber with name="WhatsApp" %} <a href="https://wa.me/{{ whatsappNumber }}" target="_blank">通过WhatsApp联系我们</a>
3. 获取通用自定义内容(diy 标签)
除了 system 和 contact 标签,安企CMS还提供了一个更通用的 diy 标签,用于获取后台其他位置可能定义的自定义内容信息。虽然文档中没有直接提供后台设置 diy 参数的入口,但如果您的系统经过二次开发,或者在某些内容模型中定义了额外的全局参数,diy 标签将是您的好帮手。
基本用法: {% diy 变量名称 with name="字段名称" %}
- 输出通用自定义参数: 假设您有一个名为
Author的自定义全局参数,您可以使用diy标签来获取:{% diy websiteAuthor with name="Author" %} <span>网站作者:{{ websiteAuthor }}</span>
实用技巧和注意事项
- 参数名大小写: 在后台定义参数名时,虽然建议使用英文,但无需担心大小写,安企CMS在模板调用时会自动匹配。
- 多站点支持: 如果您使用了安企CMS的多站点功能,并且希望调用特定站点的全局参数,可以在
system、contact、diy等标签中添加siteId参数,例如{% system with name="SiteName" siteId="2" %},其中"2"是目标站点的ID。 - HTML内容处理: 如果您的自定义参数值包含HTML代码(例如一个富文本编辑器输出的版权信息),在模板中输出时,请务必使用
|safe过滤器,以避免HTML被转义而无法正常显示。{% system siteCopyright with name="SiteCopyright" %} <div>{{ siteCopyright|safe }}</div>
通过这些灵活的全局参数调用方式,您可以让您的安企CMS网站模板更加动态、易于管理,从而更高效地进行内容更新和网站运营。
常见问题 (FAQ)
问:如果我的自定义参数中包含 HTML 代码,应该如何正确显示? 答: 当您的自定义参数值是HTML格式时,在模板中输出时需要使用
|safe过滤器。例如,如果您在后台定义了一个包含HTML的“网站介绍”参数SiteIntro,在模板中应该这样写:{% system siteIntroContent with name="SiteIntro" %}{{ siteIntroContent|safe }}。这样,HTML代码才会被浏览器正常解析并显示。问:为什么在后台设置了自定义参数,但在模板中调用时却没有内容显示? 答: 这通常有几个原因。首先,请检查“参数名”是否与模板中的
name属性值完全匹配。其次,确认您是否在正确的后台设置区域(例如“全局功能设置”或“联系方式设置”)添加了该参数,并使用了对应的模板标签(system或contact)。最后,如果是在多站点环境下,确认是否指定了正确的siteId。有时,清除系统缓存(在后台菜单中找到“更新缓存”选项)也可能解决显示问题。问:多站点环境下,如何调用其他站点的全局参数? 答:: 在安企CMS的多站点环境中,您可以通过在
system、contact和diy标签中添加siteId参数来指定要调用哪个站点的全局参数。例如,如果您想获取 ID 为2的站点的网站名称,可以这样写:{% system otherSiteName with name="SiteName" siteId="2" %}。这样就可以跨站点调用全局参数了。