作为安企CMS的用户,我们常常需要确保网站的核心信息,比如网站名称、Logo、备案号等,能够在网站的各个页面上准确无误地显示。这不仅关乎品牌形象的统一,也直接影响到用户体验和搜索引擎优化。安企CMS凭借其基于Go语言的高效架构和类似Django的模板引擎语法,让这些基础信息的调用变得直观且灵活。
接下来,我们就一起探索如何在安企CMS的模板中,轻松调用并展示这些重要的系统设置。
巧用 system 标签,获取核心网站信息
安企CMS为我们提供了一个非常便捷且强大的工具——system标签。这个标签专门用于获取在后台“全局功能设置”中配置的各类系统级信息。无论是网站的名称、Logo地址,还是备案号、版权声明,都可以通过它在模板中进行调用。
使用 system 标签的基本格式是这样的:{% system 变量名称 with name="字段名称" %}。其中,"字段名称"就是您想调用的具体系统设置项的名称。如果您不需要将获取到的值赋值给一个变量以便后续处理,也可以直接省略变量名称,让它直接输出结果。
让我们通过一些具体的例子来了解它的实际应用。
网站名称(SiteName)的显示
网站名称是品牌识别的核心,通常会出现在网页标题、页头等显眼位置。在安企CMS后台的“全局功能设置”中,您会找到“网站名称”这一项。
在模板中,您可以这样调用它:
<title>{% system with name="SiteName" %} - 您的网站副标题</title>
如果您希望先将网站名称存储在一个变量中再使用,可以这么写:
{% system siteName with name="SiteName" %}
<h1 class="site-title">{{ siteName }}</h1>
通过这种方式,无论您在后台如何修改网站名称,前端页面都会自动更新,无需改动模板代码,大大提高了维护效率。
网站Logo(SiteLogo)的调用
Logo是网站的视觉锤,承载着品牌形象。在“全局功能设置”中上传Logo图片后,您可以在模板中轻松引用其地址:
<a href="{% system with name="BaseUrl" %}">
<img src="{% system with name="SiteLogo" %}" alt="{% system with name="SiteName" %}" class="site-logo">
</a>
这里我们不仅调用了Logo的图片地址,还结合了网站名称作为图片的alt属性,这对于网站的SEO和无障碍访问都非常有益。同时,我们还调用了网站首页地址(BaseUrl),确保点击Logo能够回到首页。
网站备案号(SiteIcp)的展示
对于国内网站,备案号是必不可少的信息,通常位于网站底部。安企CMS同样提供了便捷的调用方式:
<p>
<a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">
{% system with name="SiteIcp" %}
</a>
© {% now "2006" %} 版权所有
</p>
这里我们还用到了{% now "2006" %}这个辅助标签,它会自动显示当前年份,让您的版权信息始终保持最新。
版权信息(SiteCopyright)的调用
网站底部的版权声明往往包含一些HTML格式的内容,例如链接或者特殊符号。为了确保这些内容能够被浏览器正确解析,我们需要使用|safe过滤器:
{% system siteCopyright with name="SiteCopyright" %}
<div class="site-footer-copyright">
{{ siteCopyright|safe }}
</div>
|safe过滤器告诉模板引擎,这段内容是安全的,不需要进行HTML实体转义,可以直接按HTML代码输出。
模板静态文件地址(TemplateUrl)的运用
在开发模板时,我们经常需要引用CSS样式表、JavaScript脚本或图片等静态资源。TemplateUrl标签能够获取当前模板文件夹的静态资源根路径,这让资源引用变得非常灵活,即使更换模板,也不需要手动修改大量的路径。
<link href="{% system with name="TemplateUrl" %}/css/style.css" rel="stylesheet">
<script src="{% system with name="TemplateUrl" %}/js/main.js"></script>
这样,您的样式和脚本文件就能正确加载了。
自定义系统参数的灵活调用
安企CMS的强大之处在于它的高度可定制性。除了上述预设的字段,您还可以在后台的“全局功能设置”中添加自定义参数,例如公司的WhatsApp联系方式、特别的帮助页面链接等。
假设您在后台添加了一个名为“客服电话”的自定义参数,并在“参数名”中填写了ServicePhone,“参数值”中填写了您的客服电话。那么在模板中,您可以这样调用它:
<div>客服电话:{% system with name="ServicePhone" %}</div>
这让您能够根据业务需求,在不修改核心代码的情况下,扩展网站前端显示的信息。
总结
安企CMS的system标签提供了一种集中管理和调用网站基础信息的优雅方式。通过它,您可以轻松地在模板中展示网站名称、Logo、备案号、版权信息等,并且还能灵活地扩展自定义参数,满足各种个性化需求。掌握了这些技巧,您将能更高效、更灵活地管理您的安企CMS网站,确保网站信息展示的准确性和一致性。
常见问题 (FAQ)
1. 我在后台“全局功能设置”里添加了自定义参数,但为什么在模板中调用不出来?
请检查您在 system 标签中使用的 name 属性是否与后台设置的“参数名”完全一致。例如,如果后台设置的参数名是ServicePhone,那么模板中应使用{% system with name="ServicePhone" %}。同时,请注意大小写是否匹配,因为标签通常是区分大小写的。最后,在修改后台设置后,建议手动点击后台顶部的“更新缓存”按钮,确保最新的配置被前端正确读取。
2. 我的网站Logo调用后不显示,可能是什么原因?
有几个常见原因:
- Logo未上传或路径错误: 请登录后台“全局功能设置”页面,确认Logo图片是否已成功上传,并且Logo地址看起来是正确的。
- 文件权限问题: 确保您的服务器上,Logo图片所在的
/uploads目录及其子目录有正确的读写权限。 - 缓存问题: 清理浏览器缓存和安企CMS后台缓存(通过点击“更新缓存”按钮),有时旧的缓存会导致图片不显示。
- 网络问题: 检查图片地址是否能够直接通过浏览器访问,确认服务器端防火墙或CDN配置是否正确。
3. 我有多个安企CMS站点,能否在一个模板中调用其他站点的系统设置?
可以的。system标签支持一个siteId参数,用于指定获取哪个站点的系统设置。如果您在后台通过“多站点管理”创建了多个站点,每个站点都会有一个唯一的ID。您可以在模板中这样调用:
{% system siteName with name="SiteName" siteId="2" %}{{siteName}}
这里,siteId="2"表示调用ID为2的站点的网站名称。请根据您实际的站点ID进行替换。