首页 > 其他分享 >用 SmartEdit 打开 SAP Commerce Cloud Storefront 时动态在 body 标签注入的 css class

用 SmartEdit 打开 SAP Commerce Cloud Storefront 时动态在 body 标签注入的 css class

时间:2023-06-19 21:57:32浏览次数:42  
标签:body Commerce UUID 标识符 Storefront API 序列化 CMS 目录

当我们使用 SAP SmartEdit 打开 SAP Commerce Cloud Storefront 时,在商户网站中,还必须在body标签中作为CSS类名包含以下唯一标识符:

  • smartedit-page-uid-:指定指定目录和目录版本的唯一页面标识符。这是为了支持旧版实现而必需的。
  • smartedit-page-uuid-:指定页面的全局唯一标识符(UUID)。通常情况下,它是页面的复合主键的序列化表示(在默认的CMS实现中,复合主键包含目录版本信息)。
  • smartedit-catalog-version-uuid-:指定目录版本的UUID。通常情况下,它是目录版本的复合主键的序列化表示。

当我们使用 CMS API 时,cmsfacades extension 里的 UniqueItemIdentifierService 会对上述提到的 uuid 进行读写操作。

下面是 body 标签里 css class 的一个例子:

<body class="smartedit-page-uid-mypageuid smartedit-page-uuid-mypageuuid smartedit-catalog-version-uuid-mycatalogversionuuid">

下面是 Commerce Cloud 2205 SmartEdit + Spartacus 5.2 Storefront 的例子:

CMS Item API 是一个支持对 CMS 项或 CMS 项子类型进行 CRUD 操作的 REST 端点。使用此 API,您可以搜索、检索、创建和修改 CMS 项子类型,如 CMS 页面和 CMS 组件。

概述:
CMS Item API 是一个通用的 API,通过转换和填充策略,可以通过检查项的属性,将 CMS 项序列化和反序列化为其 JSON/XML 等效项。要执行 CRUD 操作,您需要一个生成的全局唯一标识符(UUID)。例如,要更新 CMS 项,您必须提供 UUID,以便 CMS Item API 可以唯一标识该项。

CMS 项搜索功能允许您按照掩码、typeCode、catalogId、catalogVersion 或任何其他属性搜索 CMS 项。

全局唯一标识符(UUID)是一个编码的组合键,表示 CMS 项在其内容目录版本中的标识。当 itemId 本身不足以唯一标识 CMS 项时,UUID 被用作组合键。UUID 和其他属性,如目录和目录版本,用于唯一标识 CMS 项。

以下代码摘录显示了 UUID 的示例(在 componentUuid 字段中)。该值是一个包含三个属性的对象的 Base 64 表示,这三个属性是 catalogId、catalogVersion 和 itemId。

{
    "componentId" : "MultiCountryCMShomepageEUWelcomText",
    "componentUuid" : "eyJpdGVtSWQiOiJNdWx0aUNvdW50cnlDTVNob21lcGFnZUVVV2VsY29tVGV4dCIsImNhdGFsb2dJZCI6ImVsZWN0cm9uaWNzLWV1Q29udGVudENhdGFsb2ciLCJjYXRhbG9nVmVyc2lvbiI6Ik9ubGluZSJ9",
    "pageId" : "homepage-de",
    "position" : 0,
    "slotId" : "Section1Slot-homepage-de"
}

上图 componentUuid decode 后的结果:

标签:body,Commerce,UUID,标识符,Storefront,API,序列化,CMS,目录
From: https://www.cnblogs.com/sap-jerry/p/17492291.html

相关文章

  • SAP Commerce Cloud的SmartEdit 不同模式的介绍
    SAPCommerceCloud的SmartEdit提供了不同的模式(Mode),包括PreviewMode(预览模式)、BasicEditMode(基本编辑模式)和AdvancedEditMode(高级编辑模式)。这些模式为用户提供了不同的功能和工作环境,以满足其编辑和管理网站内容的需求。PreviewMode(预览模式):PreviewMode是SmartEdit的......
  • 什么是 SAP Commerce Cloud 的 Content Catalog 概念
    SAPCommerceCloud的ContentCatalog是一个核心概念,用于管理和组织网站内容。ContentCatalog是一个包含页面、组件和其他相关资源的容器,它允许您以结构化和可重用的方式创建和管理网站的不同部分。在本文中,我们将详细介绍ContentCatalog的概念、用途和示例。ContentCatalog的......
  • SAP Commerce Cloud SolrIndexNotFoundException 异常 - 做 full indexing 的详细位置
    Console看到消息:NoActiveindexfound,FULLindexeroperationmustbeperformedbeforeanyotheroperationCausedby:de.hybris.platform.solrfacetsearch.solr.exceptions.SolrIndexNotFoundException:de.hybris.platform.servicelayer.exceptions.UnknownIdentifie......
  • 什么是 SAP Commerce Cloud 的 Content Slot
    内容槽(Contentslots)是组件的容器。要使组件在前端页面上显示,必须将其添加到内容槽中。内容槽分为三种类型:页面内容槽(Pagecontentslots):页面内容槽,也简称为槽,属于所在页面,即属于该页面实例。当向槽添加内容时,内容将显示在包含该槽的页面上。共享内容槽(Sharedcontentslots):共......
  • 什么是 SAP Commerce Cloud SmartEdit 的 preview API
    PreviewAPI使得SmartEdit能够将商户网站加载到请求的体验环境上的iframe中。体验环境是指特定站点、目录和目录版本的商户网站,并且还可以是指定的语言、日期和时间。为了以指定的体验环境呈现商户网站,SmartEdit将请求的商户网站加载到请求的体验环境的iframe中。为了在请求的体......
  • 关于 SAP Commerce Cloud 本地安装用 root user 执行安装脚本的问题
    在linuxserver上执行./install-rb2c_acc是不是不能用rootuser去做?遇到警告消息:Errorcreatingbeanwithname'defaultSolrServerService'definedinclasspathresource[global-solrserver-spring.xml]:Invocationofinitmethodfailed;nestedexceptionisde.hy......
  • 什么是 SAP Commerce Cloud 的 Flexible Search?
    SAPCommerceCloud的FlexibleSearch是一种强大而灵活的查询语言和工具,用于在SAPCommerceCloud平台上执行复杂的数据库查询操作。它提供了一种高度可定制的方式来检索和操作存储在CommerceCloud数据库中的数据。FlexibleSearch可以用于在产品、订单、用户等对象之间进行联接......
  • SAP Commerce Cloud 2205 生成本地用于开发目的的 license key
    参考note.打开应用:https://launchpad.support.sap.com/#/licensekey/wizard/installation/SAP-INTERN/点击AddSystem按钮:这是我过去申请过的,版本是2105:从下拉菜单里选择各个字段的值:然后点击AddLicenseKey:写个2099年到期,一劳永逸:HardwareKey:Y4989890650点......
  • SAP Commerce Cloud 通过 SmartEdit 添加 Component 的一个例子
    如下图所示:位于ProductListLot内:url:http://localhost:4200/electronics-spa/en/USD/Open-Catalogue/Cameras/Digital-Cameras/Digital-Compacts/c/576观察到的OCC请求:https://localhost:9002/occ/v2/electronics-spa/cms/pages?pageType=CategoryPage&code=576&lang=......
  • C# MVC post 获取body
    我是既有参数传参也有body体传参.body体传参获取为null字节获取的也是为0 我的方法为 [Route("~/Test/TestMethod/{id}")]publicActionResultTestMethod(stringid){Request.InputStream.Position=0;varbody=n......