安企CMS(AnQiCMS)作为一个高效灵活的内容管理系统,其强大的多站点管理功能无疑是许多运营者青睐的亮点。当我们手握多个品牌、多个区域或多个主题的网站时,能够通过一套系统统一管理,并灵活地在不同站点间调用和展示数据,将极大地提升工作效率和内容整合度。那么,在AnQiCMS的多站点环境中,究竟该如何实现不同站点数据的调用与显示呢?
理解多站点数据调用的核心:站点ID
在AnQiCMS的多站点架构中,每一个独立的网站都被系统赋予了一个唯一的标识符,我们称之为“站点ID”(siteId)。这个siteId是进行跨站点数据交互的关键。当你希望在一个站点的页面模板中展示来自另一个站点的内容时,你就需要明确地告诉AnQiCMS目标内容的siteId是什么。
默认情况下,AnQiCMS的模板标签在没有显式指定siteId参数时,会自动识别并操作当前站点的数据。这使得我们在为单个站点开发模板时无需过多干预。然而,一旦涉及跨站点调用,这个siteId参数就成了连接不同站点数据的“桥梁”。
实际操作:跨站点数据调用示例
AnQiCMS的模板系统设计得非常灵活,几乎所有用于获取数据的标签都内置了siteId参数。这让跨站点数据调用变得直接且易于理解。下面,我们通过几个常见的应用场景来具体看看siteId是如何发挥作用的。
场景一:在主站展示子站的最新文章列表
假设我们运营着一个主品牌网站,同时还有一个专门发布产品新闻的子站点。现在,我们希望主品牌网站的首页能实时显示子站点最新的5篇文章标题及链接。
如果子站点的siteId是2,我们可以这样在主站的模板中编写代码:
{% archiveList subSiteArchives with siteId="2" type="list" limit="5" order="id desc" %}
{% for item in subSiteArchives %}
<li>
<a href="{{item.Link}}">{{item.Title}}</a>
<span>发布于: {{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
</li>
{% endfor %}
{% endarchiveList %}
通过这段简单的代码,主品牌网站便能动态地拉取并展示子站点的最新文章列表。用户点击这些链接时,将直接跳转到子站点对应的文章详情页,实现了站点间的无缝连接。
场景二:统一调用不同区域站点的联系方式
想象一下,一家拥有多个地域分公司的企业,每个分公司都有独立的网站(子站点),并且各有不同的联系电话和地址。我们希望在一个统一的“联系我们”总览页面上,集中展示所有分公司的联系信息。
假设我们已知所有分公司的siteId(例如2、3、4),我们可以通过循环这些siteId来动态获取信息:
”`twig {% set regionalSiteIds = “2,3,4”|split:“,” %} {# 假设这是你的所有地域分站点的ID列表 #}