SAP Commerce Cloud 里的 Site API 调用方式讲解
作者:互联网
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 的明细数据。
标签:Commerce,List,Site,站点,API,内容,目录 来源: https://www.cnblogs.com/sap-jerry/p/16462621.html