日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP Spartacus 和 SmartEdit 协同工作需要遵循的协议

發布時間:2023/12/19 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP Spartacus 和 SmartEdit 协同工作需要遵循的协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SmartEdit Contract in Spartacus

必須包含在每個頁面中的 webApplicationInjector.js 文件。 Spartacus 的 SmartEdit 安裝說明詳細介紹了如何將此 js 文件包含到您的應用程序中。

A preview ticket API mechanism

Get cmsTicketId (also called previewToken)

當在 SmartEdit 中啟動 Spartacus 時,SmartEdit 會以 cmsTicketId 作為參數向 Spartacus 發送請求。當在 SmartEdit 中啟動 Spartacus 時,SmartEdit 會以 cmsTicketId 作為參數向 Spartacus 發送請求。

https://localhost:4200/cx-preview?cmsTicketId=6477500489900224fda62f41-167a-40fe-9ecc-39019a64ebb9

默認情況下,SmartEdit 將 /cx-preview 附加到店面 URI,以便它可以預覽您的店面。 但是您可以配置 SmartEdit 以將請求路由到應用程序中的另一個端點。 使用 impex 中的 storefrontPreviewRoute 屬性指定自定義店面路由,如下例所示:

INSERT_UPDATE SmartEditConfiguration;key[unique=true];value ;storefrontPreviewRoute;"""my-custom-preview"""

cmsTicketId 在后端生成。 它包含許多SmartEdit 所需的信息,例如site-id 或catalogVersion。

Smartedit Interceptor

為了使 SmartEdit 能夠在 Spartacus 中加載頁面,它需要獲取所有必需的上下文數據,包括站點、內容目錄和內容目錄版本,也可以是指定語言或日期和時間的。 因此,需要將 cmsTicketId 附加到從 Spartacus 發送到后端的任何 CMS 請求。

在 Spartacus 中,我們有 CmsTicketInterceptor。 如果 cmsTicketId 存在并且請求是 cms 指定的,它將添加 cmsTicketId 作為請求參數之一。

例子:https://localhost:9002/rest/v2/electronics-spa/cms/pages?fields=DEFAULT&lang=en&curr=USD&cmsTicketId=6477500489900224fda62f41-167a-40fe-9ecc-39019a64ebb9

HTML Markup Contract

HTML 標記合同規定每個 CMS 組件和每個內容槽都必須包裝在一個 HTML 標簽中并包含特定元素。

properties in CMS items received from backend

使用 cmsTicketId 發送 CMS 請求,響應 JSON 數據中會有屬性字段。 properties 包含包含 CMS 項目所需的動態屬性組。 例如,CMS 頁面中的屬性可能包含以下數據:

"label" : "homepage", "properties" : {"smartedit" : {"classes" : "smartedit-page-uid-homepage smartedit-page-uuid-eyJpdGVtSWQiOiJob21lcGFnZSIsImNhdGFsb2dJZCI6ImVsZWN0cm9uaWNzLXNwYUNvbnRlbnRDYXRhbG9nIiwiY2F0YWxvZ1ZlcnNpb24iOiJTdGFnZWQifQ== smartedit-catalog-version-uuid-electronics-spaContentCatalog/Staged"}} }

在組 smartedit 中,有課程。 這是此 CMS 頁面所需的 SmartEdit 合同。 因此,我們需要將這些“類”添加到 html body 標簽的類列表中。 如果您檢查 html 頁面源代碼,您將看到 body 標簽具有“類”。

<body class="smartedit-page-uid-homepage smartedit-page-uuid-eyJpdGVtSWQiOiJob21lcGFnZSIsImNhdGFsb2dJZCI6ImVsZWN0cm9uaWNzLXNwYUNvbnRlbnRDYXRhbG9nIiwiY2F0YWxvZ1ZlcnNpb24iOiJTdGFnZWQifQ== smartedit-catalog-version-uuid-electronics-spaContentCatalog/Staged"><cx-storefront ng-version="8.0.0" class="stop-navigating"><header><cx-page-layout section="header" ng-reflect-section="header" class="header"><!--bindings={ ...

CMS 插槽和組件也包含這些屬性。 我們需要將這些屬性添加到組件/插槽標簽中。 以下是“HelpLink”組件的示例。

{"uid" : "HelpLink","uuid" : "eyJpdGVtSWQiOiJIZWxwTGluayIsImNhdGFsb2dJZCI6ImVsZWN0cm9uaWNzLXNwYUNvbnRlbnRDYXRhbG9nIiwiY2F0YWxvZ1ZlcnNpb24iOiJTdGFnZWQifQ==","typeCode" : "CMSLinkComponent","modifiedTime" : "2019-07-02T13:44:27.77-04:00","name" : "Help Link","container" : "false","external" : "false","url" : "/faq","linkName" : "Help","properties" : {"smartedit" : {"catalogVersionUuid" : "electronics-spaContentCatalog/Staged","componentType" : "CMSLinkComponent","componentId" : "HelpLink","classes" : "smartEditComponent","componentUuid" : "eyJpdGVtSWQiOiJIZWxwTGluayIsImNhdGFsb2dJZCI6ImVsZWN0cm9uaWNzLXNwYUNvbnRlbnRDYXRhbG9nIiwiY2F0YWxvZ1ZlcnNpb24iOiJTdGFnZWQifQ=="}},"target" : "false" }

對應的 HTML 代碼:

<cx-link data-smartedit-catalog-version-uuid="electronics-spaContentCatalog/Staged" data-smartedit-component-type="CMSLinkComponent" data-smartedit-component-id="HelpLink" class="smartEditComponent" data-smartedit-component-uuid="eyJpdGVtSWQiOiJIZWxwTGluayIsImNhdGFsb2dJZCI6ImVsZWN0cm9uaWNzLXNwYUNvbnRlbnRDYXRhbG9nIiwiY2F0YWxvZ1ZlcnNpb24iOiJTdGFnZWQifQ==" data-smart-edit-component-process-status="removeComponent" data-smartedit-element-uuid="8505cd4a-11b3-4fc8-b278-6f8ff74e50b3" style="position: relative;">

DynamicAttributeService

在 Spartacus 中,我們有 DynamicAttributeService。 它可以為 DOM 添加動態屬性。 這些屬性是從從后端接收的 CMS 項目的屬性中提取的。

可以有許多不同的屬性組,其中之一是 smartedit。 但是 EC 允許插件創建不同的組。 例如,個性化可以添加腳本組等。

要將 SmartEdit HTML 標記合約添加到 Slot,我們有以下功能:

private addSmartEditContract(slot: ContentSlotData): void {this.dynamicAttributeService.addDynamicAttributes(slot.properties,this.hostElement.nativeElement,this.renderer); }

addDynamicAttributes 函數在 3.2 版中已棄用。 如果您使用的是 Spartacus 3.2 或更新版本,請改用 addAttributesToComponent 和 addAttributesToSlot 函數。

Rerendering Components and Content Slots After Editing

在用戶對組件或內容槽進行更改后,用戶將希望看到頁面上反映的更改。 SmartEdit 通過僅重新渲染更改的內容來優化此功能。

對于前端呈現的頁面,店面重新呈現頁面而不是 SmartEdit。 在這種情況下,Spartacus 在 window.smartedit 命名空間中實現了 renderComponent 函數,如以下代碼摘錄所示:

window.smartedit.renderComponent = function(componentId, componentType, parentId) { ... };

如果 parentId 不存在,則 CMS 項是一個槽,然后 renderComponent 實際上刷新整個 CMS 頁面。 如果 parentId 確實存在,則 CMS 項是一個組件,在這種情況下,只會刷新此 CMS 組件。

Default Preview Category/Product

每個站點都有 defaultPreviewCategory、defaultPreviewProduct 和 defaultPreviewCatalog。 例如:

UPDATE CMSSite;uid[unique=true];defaultPreviewCategory(code, $productCV);defaultPreviewProduct(code, $productCV);defaultPreviewCatalog(id) ;$spaSiteUid;575;2053367;$productCatalog

在 SmartEdit 中打開分類或產品頁面時,您會發現不僅加載了 CMS 頁面,還加載了默認的預覽產品/分類。

在 SmartEdit 中,在產品詳細信息頁面中打開代碼為 2053367 的產品:

分類頁面也一樣,在商品列表頁面打開分類575:

2021-6-29 分析一個客戶的 incident

這是客戶系統后臺出問題時候返回的 CMS response:

這是 SAP internal 系統返回的 CMS response:

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的SAP Spartacus 和 SmartEdit 协同工作需要遵循的协议的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人性生交免费看 | 日本一级三级三级三级 | 中文字幕亚洲乱码 | 国产理论一区 | 美女啪啪动态图 | 尤物最新网址 | 欧美伦理一区二区 | 永久免费在线看片 | 人妻va精品va欧美va | 国产一区二区三区精品在线 | 少妇荡乳情欲办公室456视频 | 天堂在线 | 69精品国产| 一起草在线视频 | 中文字幕久久熟女蜜桃 | 爱爱网视频 | 成人综合影院 | 日韩免费看片 | 2021久久| 日韩91在线 | 波多野结衣 在线 | 五十路在线 | 尤物精品在线观看 | 给我免费观看片在线电影的 | 成人亚洲 | 欧美人体一区二区 | 国产亚洲一区二区三区四区 | 亚洲欧美日韩一区二区 | 久久亚洲少妇 | 成人免费视频观看 | 99九九精品视频 | 欧美一区成人 | 国内精品第一页 | 色中文字幕在线观看 | 国产999精品 | 成年人毛片 | 亚洲男人的天堂av | 国产欧美一区二区三区在线看蜜臂 | 欧美超碰在线观看 | 成av在线 | 中文字幕免费高 | 欧美一二在线 | 毛片av网址| 日本中文字幕久久 | 久操视频免费在线观看 | 国产精品粉嫩 | 精品无码久久久久久久久久 | 快色网站 | 色老头在线视频 | 欧美成人精品欧美一级私黄 | 姑娘第5集高清在线观看 | 扒开美女内裤狂揉下部 | 精品久久一区二区三区 | 中出在线 | 一区二区三区手机在线观看 | 超碰偷拍| 日本一卡二卡在线 | 午夜激情毛片 | av黄色影院 | 精品动漫一区二区三区的观看方式 | 精品1区2区| 亚洲欧美日韩视频一区 | 欧美成人一区二区三区高清 | 欧美人与性动交ccoo | 中文字幕精品久久久久人妻红杏1 | 神马老子午夜 | 国产一区二区三区福利 | www啪啪| 催眠美妇肉奴系统 | 一区二区三区在线不卡 | 女人高潮娇喘1分47秒 | 五月天激情社区 | 性欧美色图 | 性感美女毛片 | 日本少妇裸体做爰高潮片 | 狠狠爱综合| 欧美性生活一区二区 | 无码人妻一区二区三区线 | 黄色片在线播放 | 人人爽视频 | 亚洲自啪 | free性欧美hd另类 | 91视频在线网站 | 台湾swag在线观看 | 欧美人与性动交α欧美片 | 亚洲天堂2021av | 97精品一区二区 | 欧美激情欧美激情在线五月 | 影音先锋黑人 | 中文字幕91 | 日韩在线中文字幕 | 婷婷深爱五月 | 美人被强行糟蹋np各种play | 亚洲精品乱码久久久久久日本蜜臀 | 亚洲天堂av影院 | 朋友人妻少妇精品系列 | 亚洲国产综合在线 | 成人伊人 | 国产一区二区三区中文字幕 |