学习目标
完成本单元后,您将能够:
- 说明业务对象如何定义Salesforce B2C Commerce店面数据结构。
- 列出为什么要自定义系统对象的两个原因。
- 列出使用自定义对象的两个原因。
- 列出两个业务对象最佳实践。
介绍
B2C Commerce是一个面向对象的系统,因此了解一些从对象开始的基本原理非常重要。对象是包含数据的自包含实体。组织单个对象,以便数据描述该对象。例如,一个Dress对象看起来像这样:
连衣裙
- 尺寸
- 颜色
- 布
- 场合
- 袖子
- 领口
- 长度
该礼服对象只包含描述礼服的数据。它不包含描述其他内容的数据,例如手镯。
数据(例如本示例中的Color)存储在也称为attribute的字段中。属性用于描述对象的一个方面。在这种情况下,如果您告诉朋友您要描述一些东西,然后说“尺寸,颜色,面料,场合,袖子,领口和长度”,他们可能会说您在谈论一件衣服(或者也许衬衫)。着装是对象,而颜色是对象的属性。
业务对象定义B2C Commerce店面数据的结构。业务对象可以是系统随附的系统对象,也可以是可用于向应用程序添加其他功能的自定义对象。自定义对象需要自定义代码。
系统对象
B2C Commerce提供了63种系统对象类型,从 Appeasement到TrackingRef。在您的Business Manager版本中,有些标记为只读。您不能通过创建新的系统对象来自定义内部B2C Commerce系统,但是可以创建新的自定义系统对象来满足您的业务需求。这是一个重要的区别!系统对象类型定义了系统对象中包含的属性。他们的行为就像一张地图。
Commerce Cloud店面参考体系结构(SFRA)使用系统对象来描述其站点的一部分。这使其成为店面应用程序开发的起点很有用,因为它是为与系统对象进行交互而开发的,从而消除了对自定义代码的需求。
为确保您的实现完全使用可用的系统对象,您应该熟悉它们。在B2C Commerce的在线工具Business Manager中,该工具用于配置,管理和开发店面应用程序,您可以:
- 查看系统对象
- 查看每个系统对象的属性
- 编辑属性,包括创建新的属性值
- 查看属性组
- 创建新的属性组
B2C Commerce丰富的系统对象库已经满足了店面应用程序中所需的大多数数据,例如产品详细信息,内容,订单和促销。使用这些对象可以极大地加快实现速度,因为您可以利用为这些对象开发的代码。
这些是SFRA中使用的一些系统对象。
对象ID | 目的 | 属性 |
---|---|---|
Basket | 代表购物车。 | 业务类型 channelType 货币代码 客户电子邮件 顾客姓名 客户编号 最后修改 |
Campaign | 表示一个广告系列,它是可以针对特定框架部署的一组体验,例如广告位配置,促销或排序规则。 | 创立日期 描述 结束日期 最后修改 开始日期 |
Category | 表示产品目录中的类别,并包含包含类别数据的属性。该对象通常用于(和自定义)控制类别在店面中的行为。 | AlternativeURL catBannerID customCSSFile 描述 显示名称 enableCompare headerMenuBanner |
Content | 表示内容资产,例如文本,图像,视频或音频。 | 年 身体 配置 创立日期 customCSSFile 卡塔 描述 最后修改 |
与上面的dress对象一样,Content对象包含多个属性,例如year,body和config。
扩展系统对象
您可以扩展系统对象,以从购物者那里收集更多信息,定制店面站点以显示其他信息,并根据后台需求帮助您更有效地处理订单。
例如,您可以 向购物篮对象添加addToEmailList属性,该属性将在购物车页面上显示“请将我添加到您的电子邮件列表”复选框。您还需要添加代码以显示和处理此数据。
组对象以收集更多数据
在Business Manager中,您可以管理店面数据,例如产品和内容详细信息。尽管系统对象带有一组标准的属性,但是如果要添加更多数据,则始终可以添加属性。例如,您可以通过添加属性,使购物者能够在实体商店中拾取商品。我们已经通过创建一个名为InStorePickup的属性组来添加了此属性,因为它是一个很棒的功能。
在店面中,此功能会在结帐时显示。但是在Business Manager中,它显示在您管理产品数据的“产品详细信息”页面上。您可以将特定产品设置为可在店内取货。
当然,您还必须在店面中编写处理此问题的基础应用程序代码,但我们只是在谈论业务对象。
要在Business Manager中显示系统属性,该属性必须属于一个组。否则,它将不会出现在业务管理器页面上。那和店面里的不一样。
让我们仔细看看。
该产品系统对象包括称为属性组 InStorePickup包含这些属性。
属性 | 描述 | 类型 |
---|---|---|
availableForInStorePickup | 该产品可在店内提货。 | 布尔值(是或否) |
storeTaxClass | 存放税种 | 串 |
该组显示在“业务详细信息”页面上的Business Manager中(您在其中创建新产品),因此您可以指定是否可用于店内取货。
选择是布尔值yes或no。
在店面的购物车页面上,显示一个字段,询问购物者是否要在商店取一件或多件商品。
属性组
系统对象可以全局存储,这使它们可用于整个组织和所有站点,或本地(每个站点)可用。系统对象本身始终可用于整个组织。
自定义对象
您可以使用自定义对象来扩展B2C Commerce模型以适合您的业务需求。在业务管理器中,您首先创建自定义对象类型并定义它们包含的属性。然后,您将基于这些属性创建自定义对象。
可以在为组织定义的所有店面站点中使用自定义对象类型。但是,在创建自定义对象时,可以选择它是特定于站点还是整个组织的。我们在此模块中讨论了业务管理器部门中的组织。
自定义对象类型
您可以为店面或业务逻辑扩展B2C Commerce模型所需的其他业务对象创建和管理自定义对象类型。例如,您创建一个自定义对象类型Sample,然后为其赋予属性SKU和Date。在业务管理器的“管理自定义对象”模块中,通过输入SKU和日期数据对来创建数据,如下所示:
AS-12334 | 2018年6月3日 |
AS-44567 | 24-03-2018 |
TT-65443 | 15-02-2018 |
您现在可以管理此新数据。
使自定义属性可编辑或不可编辑
您可以使用从后端记录系统直接输入到B2C Commerce中的自定义属性。为此,您可以在新属性中设置外部管理的标志。
这向业务管理器用户指示他们不应直接编辑这些属性。此类属性被认为是外部管理的,因为属性值是在外部系统中设置的。如果不可编辑属性的提要中包含错误的值,则可以通过取消选择“外部管理”选项并手动对其进行修复来在Business Manager中修复该值。固定该值后,请重新选择“外部管理”选项。
最佳实践
尽可能使用系统对象而不是自定义对象,以便更轻松地升级到最新的参考体系结构并消除不必要的自定义。
尽可能使用系统属性而不是自定义属性。