zl程序教程

您现在的位置是:首页 >  其他

当前栏目

SAP Spartacus Sample Data Extension

SAP Data Spartacus Extension Sample
2023-09-14 09:02:53 时间

官网

spartacussampledata 扩展为 Spartacus 创建了新的 WCMS 基础站点,这些站点与默认的电子产品、服装和电动工具站点共享相同的产品目录,但内容目录已专门针对 Spartacus 要求进行了修改。

如何下载

您可以从 Spartacus Releases 页面下载 Spartacus Sample Data 扩展。

Spartacus 示例数据扩展随 Spartacus storefront 库一起版本化和发布。 您可以通过单击店面库最新版本的资产部分中的 spartacussampledata.zip 下载最新版本。

当然,以前的版本也可用。 例如,要下载 3.0.0-RC.1 版本的 Spartacus 示例数据扩展,您可以在此处访问 @spartacus/storefront@3.0.0-rc.1 库的资产部分。

下图展示了如何创建 Electronics-Spa 基础站点。 所有样品店的过程都是相似的。

在这里插入图片描述

The spartacussampledata extension does the following:

  • 如果这些示例商店在您的 extensions.xml 中配置,则创建名为electronics-spa、wearing-spa 和 powertools-spa 的新基本站点。 有关详细信息,请参阅 resources/spartacussampledata/import/stores 文件夹中每个基本站点的 site.impex 文件。

  • 创建一个新的 ContentCatalog 及其目录版本(暂存和在线)。 有关详细信息,请参阅 resources/spartacussampledata/import/contentCatalogs/ 文件夹中每个基本站点的 catalog.impex 文件。

  • 创建一个 CatalogVersionSyncJob,可以将 [samplestore]ContentCatalog:staged 同步到 [samplestore]-spaContentCatalog:staged。 有关详细信息,请参阅 resources/spartacussampledata/import/contentCatalogs 文件夹中每个基本站点的 sync.impex 文件。

spartacussampledata 扩展包括 SpaSampleAddOnSampleDataImportService,它扩展了 DefaultAddonSampleDataImportService。 它覆盖默认的 importContentCatalog 函数,以便在系统初始化或系统更新期间,importContentCatalog 函数执行以下操作:

  • creates a new catalog
  • synchronizes [samplestore]ContentCatalog:Staged to [samplestore]-spaContentCatalog:Staged
  • performs some cleaning
  • imports the content catalog from impex
  • synchronizes spaContentCatalog:staged to :online
  • gives permission to the cmsmanager to do the synchronization
  • imports email data

CMS Changes Specific to the Spartacus Project

由于 [samplestore]ContentCatalog:Staged 与 [samplestore]-spaContentCatalog:Staged 同步,因此两个内容目录中的初始数据相同。 但是,为了使 Spartacus 更好地工作,-spa 版本包含不同的 CMS 数据。 对 [samplestore]-spaContentCatalog 进行了更改,这些更改将在以下部分进行描述。

Removing Unused Pages, Content Slots and CMS Components

Spartacus 不包含在 Accelerator 中找到的所有页面。 未使用的页面、内容槽和 CMS 组件将从 [samplestore]-spaContentCatalog 中删除。 您可以在资源/spartacussampledata/import/contentCatalogs/electronicsContentCatalog 文件夹中检查每个基本站点的cleaning.impex 文件以查看删除的内容。

Replacing the JspIncludeComponent with the CMSFlexComponent

JspIncludeComponent 允许您在提供随后被插入的 JSP 文件的路径时包含 JSP 代码。 在基于 Spartacus Angular 的应用程序中使用这种类型的组件是没有意义的。 一种名为 CMSFlexComponent 的新型组件已添加到 SAP Commerce Cloud 1905,它允许您获取选择器,并且还在内容槽中包含我们库中的代码。

注意:为了向后兼容,Spartacus 支持 JspIncludeComponent。

Adding Data into the CmsSiteContext Enum

CmsSiteContext 枚举是在 SAP Commerce Cloud 1905 中创建的。它是一个包含可用站点上下文的动态枚举。 Spartacus 有两个站点上下文:语言和货币。 以下是来自 resources/spartacussampledata/import/contentCatalogs/electronicsContentCatalog/catalog.impex 的示例:

INSERT_UPDATE CmsSiteContext;code[unique=true];name[lang=$language]
;LANGUAGE;"language"
;CURRENCY;"currency"

Adding a SiteContext Slot with New Components to Each Template

Spartacus 中每个模板的标题中都添加了一个新的 SiteContext 槽,并且在此 SiteContext 槽中添加了两个新组件 LanguageComponent 和 CurrencyComponent。 以下是来自 resources/spartacussampledata/import/contentCatalogs/electronicsContentCatalog/cms-responsive-content.impex 的示例:

INSERT_UPDATE CMSSiteContextComponent;$contentCV[unique=true];uid[unique=true];name;context(code);&componentRef
;;LanguageComponent;Site Languages;LANGUAGE;LanguageComponent
;;CurrencyComponent;Site Currencies;CURRENCY;CurrencyComponent

INSERT_UPDATE ContentSlot;$contentCV[unique=true];uid[unique=true];name;active;cmsComponents(uid,$contentCV)
;;SiteContextSlot;Site Context Slot;true;LanguageComponent,CurrencyComponent