在网站的运营过程中,备案号和版权信息是不可或缺的元素,它们不仅关乎网站的合法性,也体现了网站的专业度。对于使用安企CMS搭建的网站来说,在模板中灵活地调用并格式化显示这些信息,是一个非常基础但重要的技能。

幸运的是,安企CMS提供了一套简洁而强大的模板标签系统,让网站备案号和版权信息的调用变得异常轻松。接下来,我们就一起看看如何在安企CMS的模板中实现这一目标。

首先,在后台设置好备案号和版权信息

在开始模板操作之前,你需要确保这些信息已经在安企CMS的后台进行了正确的录入。通常,这些全局性的网站信息都可以在“后台设置”下的“全局功能设置”中找到。

你会在设置页面看到“备案号码”和“版权信息”的输入框。在这里,只需按照要求填入你的网站备案号(例如“京ICP备12345678号”)和版权声明(例如“© 2023 你的公司名称. All Rights Reserved.”)。安企CMS会妥善保存这些数据,并为前端模板调用做好准备。

模板中调用网站备案号

安企CMS的模板遵循类似Django模板引擎的语法,使用双花括号 {{变量}} 来输出变量,使用 {% 标签 %} 来执行逻辑操作。对于网站的系统级配置信息,我们主要依赖 system 标签。

要调用备案号,你可以使用 system 标签并指定 name 参数为 SiteIcp。最直接的调用方式是:

{% system with name="SiteIcp" %}

这样,页面上就会直接显示你在后台填写的备案号。

但通常,备案号需要链接到工信部备案管理系统的查询页面,以方便用户核实。这时候,我们可以在 <a> 标签中嵌入这个标签,并设置相应的链接和属性:

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

这里我们给链接添加了 rel="nofollow" 属性,这是一种常见的SEO做法,告诉搜索引擎不要追踪此链接,因为它通常不涉及内容推荐;同时加上 target="_blank",确保用户点击后在新标签页打开,提升用户体验。

模板中调用并格式化显示版权信息

版权信息通常包含当前的年份、网站名称以及具体声明。使用 system 标签同样可以轻松获取后台设置的版权内容。SiteCopyright 字段便是用来存储这些信息的:

{% system with name="SiteCopyright" %}

如果你的版权信息中不包含年份,或者你希望年份能动态显示为当前年份,那么可以结合 now 标签来实现。now 标签可以帮助我们获取当前日期时间,通过指定格式字符串,就能提取出年份。例如,要获取四位数的年份,可以使用 "2006" 这个格式字符串(这是Go语言中一个特殊的参考时间,代表固定日期)。

因此,一个常见的版权声明组合可能是这样的:

<p>
    &copy; {% now "2006" %}
    {% system with name="SiteName" %}
    {% system with name="SiteCopyright" %}
</p>

这里,{% now "2006" %} 会自动输出当前的年份,{% system with name="SiteName" %} 会调用你在后台设置的网站名称。

需要注意的是,如果你在后台的“版权信息”中填入了HTML代码,例如包含了一个链接或者其他样式标签,为了确保这些HTML代码能够正确解析而不是被转义成纯文本显示,你需要将调用它的变量通过 |safe 过滤器进行处理。例如,如果我们给 SiteCopyright 定义了一个变量 siteCopyright

{% system siteCopyright with name="SiteCopyright" %}{{siteCopyright|safe}}

通过 |safe 过滤器,安企CMS的模板引擎就会认为 siteCopyright 中的内容是安全的HTML,并直接将其渲染到页面上。

综合示例:网站页脚的备案号和版权信息

将备案号和版权信息的调用方式结合起来,我们可以很容易地构建一个完整的网站页脚信息块:

<footer>
    <div class="container">
        <p class="icp-info">
            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">
                {% system with name="SiteIcp" %}
            </a>
        </p>
        <p class="copyright-info">
            &copy; {% now "2006" %} {% system with name="SiteName" %}.
            {% system siteCopyright with name="SiteCopyright" %}{{siteCopyright|safe}}
        </p>
    </div>
</footer>

将这段代码放置在你的模板文件的页脚部分(例如 partial/footer.html 或直接在 bash.html 中),网站备案号和版权信息就会以整洁、规范的方式显示出来,并且年份会随时间自动更新。

安企CMS的模板系统以其直观和灵活性,大大简化了网站内容的管理和展示。通过简单的标签调用,你就能轻松掌控网站的关键信息,让内容运营更加高效。


常见问题 (FAQ)

  1. 问:为什么我设置了备案号/版权信息,但在网站前端却没有显示?

    • 答: 出现这种情况,首先请检查你的模板文件中是否正确使用了 {% system with name="SiteIcp" %}{% system with name="SiteCopyright" %} 这样的标签。如果标签使用无误,请尝试在安企CMS后台点击“更新缓存”按钮,清理系统缓存后刷新页面。有时候浏览器缓存也可能导致显示延迟,可以尝试清空浏览器缓存或使用无痕模式访问。
  2. 问:如果我的版权信息中包含了HTML代码(例如一个链接),应该如何确保它们能够被正确渲染而不是直接显示文本?

    • 答: 如果后台设置的“版权信息”中包含HTML代码,为了让这些代码在前端被浏览器解析并渲染,你需要在使用 system 标签调用后,再额外添加 |safe 过滤器。例如,你可以先将版权内容赋值给一个变量 {% system siteCopyright with name="SiteCopyright" %},然后在输出时使用 {{ siteCopyright|safe }}。这样,HTML内容就不会被转义,而是按预期显示。
  3. 问:除了显示当前年份,我还可以用 now 标签格式化显示其他日期或时间信息吗?

    • 答: 当然可以。now 标签支持Go语言的时间格式化规则,你可以根据需要使用不同的格式字符串来显示日期和时间。例如,{% now "2006-01-02" %} 会显示完整的年月日,{% now "15:04" %} 则会显示当前的时分。这为你提供了极大的灵活性,来满足各种日期时间显示需求。