SAP Spartacus Sample Data Extension

官网

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 基础站点。 所有样品店的过程都是相似的。

SAP Spartacus Sample Data Extension

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

 

上一篇:重学C++程序设计(五):第二周mooc的习题解答(北京大学,郭炜)


下一篇:JMeter 后置处理器之正则表达式提取器详解