Multiple Country Site Support 为治理蕴含多个内容目录并应用内容继承的站点提供原生反对。它能够重用从顶级父目录到较低级别的国家、地区和本地内容目录的组件和页面,以及无缝站点导航。
在多国家、多渠道或多品牌的背景下,多个网站须要跨不同的网站显示雷同的页面和 / 或组件,但它们也可能心愿显示特定于每个地区、渠道或品牌的内容。SmartEdit 反对通过应用共享的全局内容目录和多个区域性内容目录(依据须要笼罩特定的页面和 / 或组件),提供了实现真正内容继承的可能性。
Site API 用于显示无关 CMS 站点的详细信息。
应用 Site API,开发人员能够为用户可拜访的所有站点提取以下属性:
- contentCatalogs: 与站点关联的内容目录 (content catalog) 名称的有序列表。列表按层次结构排序。在
multiple country
部署的状况下,首先显示父内容目录,而后是其子内容目录,而后是子内容目录的子内容目录,依此类推。 - name(本地化): 基于承受或申请报头本地化的站点名称。
- previewUrl: 预览网站的 URL 地址。
- uid: 站点的惟一标识符。
该 API 只返回蕴含至多一个用户有权查看或编辑的目录版本的站点。
站点 API 公开 SiteFacade,以检索用户可拜访的所有站点的站点信息。
public interface SiteFacade
{List<SiteData> getAllSiteData();
List<SiteData> getSitesForCatalogs(final List<String> catalogIds);
}
DefaultSiteFacade.getAllSiteData
应用目录版本服务 (Catalog Version Service) 来提取可写和可读的内容目录版本,以便它只提供用户有浏览或编辑权限的站点。
DefaultSiteFacade.getSitesForCatalogs
返回为指定的目录 ID 列表配置的所有站点,其中目录 ID 示意站点层次结构中的最低级别内容目录。
Site API 依赖于以下 DTO,定义在 cmsfacade-beans.xml
文件内:
<bean class="de.hybris.platform.cmsfacades.data.SiteData">
<property name="uid" type="String" />
<property name="previewUrl" type="String" />
<property name="name" type="java.util.Map<String, String>" />
<property name="thumbnailUrl" type="String" deprecated="Deprecated since 6.4, please use de.hybris.platform.cmsfacades.data.CatalogVersionData instead."/>
<property name="contentCatalogs" type="java.util.List<String>" />
</bean>
总结
本文首先介绍了 SAP Commerce Cloud Multiple Country Site support 的概念,接着介绍了如何应用 Java API 的形式获取这些 Site 的明细数据。