CCD102

3 | Cartridges

课程介绍

同学们,今天我们来聊聊如何使用Storefront参考架构开发B2C商务云。这个课程路线图会帮助我们一步步掌握关键技能。 首先,我们会从第6课开始,学习ISML、内容插槽和页面设计师。这些工具和概念是构建和定制你的电商平台的基础。ISML是一种模板语言,它帮助我们创建动态的网页内容。内容插槽则允许我们在页面的特定位置插入不同的内容,比如广告或者推荐商品。页面设计师则是一个直观的工具,让我们可以拖拽组件来设计页面,非常方便。 接下来,我们会过渡到第3课。在这一部分,我们将深入探讨如何利用这些工具来优化用户体验,提升网站的性能。我们会学习如何有效地使用内容插槽来展示个性化的内容,以及如何通过页面设计师来快速调整页面布局,确保网站既美观又实用。 记住,每一步都是为了让你更好地理解和掌握B2C商务云的开发。所以,跟着课程走,你会发现自己在不知不觉中已经能够独立完成一个电商平台的开发了。加油!

课程章节

本课程共有 9 个章节

  • 1

    Cartridge

    第 32 页

    让我们来聊聊Salesforce中的“卡带”(Cartridge)。想象一下,卡带就像是一个小型的工具箱,里面装满了各种工具,这些工具都是为了完成特定的任务而准备的。在Salesforce的世界里,这个工具箱就是用来增强你的在线店面功能的。 每个卡带其实就是一个文件夹,这个文件夹里包含了所有你需要的东西,比如管道、模板、脚本、表单,还有一些静态的内容,比如图片、CSS文件或者JavaScript文件。这些资源都是为了让你的店面更加生动、功能更加强大。 重要的是,每种类型的资源都有它自己的“家”,也就是特定的文件夹。比如,所有的图片都应该放在图片文件夹里,所有的脚本都应该放在脚本文件夹里。这样做的好处是,当你需要找某个资源的时候,你可以很快地找到它。 当你想要给你的店面添加新功能时,你只需要添加一个新的卡带。这就像是在你的工具箱里添加了一个新的工具,让你的店面能够做更多的事情。 所以,简单来说,卡带就是Salesforce中用来打包和分发店面功能的一个方式。通过使用卡带,你可以轻松地扩展和定制你的在线店面,让它更好地服务于你的业务需求。

    查看详情
  • 2

    Typical Cartridge Stack

    第 33 页

    让我们来聊聊Salesforce B2C Commerce中的“弹匣堆栈”这个概念。你可以把它想象成一个积木游戏,每个积木都有不同的功能,我们可以根据需要把它们堆叠起来,构建出一个完整的电商网站。 首先,我们有一个“基本磁带盒”,它就像是积木的基础层,包含了大多数电商网站都会有的基本功能,比如商品展示、购物车、结账流程等等。这些功能是每个电商网站都需要的,所以它们被放在了最底层。 接下来,我们可以在这个基础层上添加更多的功能。比如,如果你想让你的网站支持Apple Pay支付,或者增加一个礼品注册表功能,你可以通过“插件磁带盒”来实现。这些插件就像是额外的积木,你可以根据需要把它们堆叠在基础层上,让你的网站功能更加丰富。 除了插件磁带盒,我们还有“LINK磁带盒”。这些磁带盒是由Salesforce的合作伙伴提供的,比如PayPal或者Bazaarvoice。它们可以帮助你轻松集成第三方服务,比如支付系统或者用户评论功能。这些LINK磁带盒就像是专门为特定功能设计的积木,你可以直接把它们添加到你的堆栈中,而不需要从头开始构建这些功能。 最后,如果你有一些特殊的需求,或者想要完全自定义你的网站功能和品牌,你可以创建“自定义磁带盒”。这些磁带盒就像是你可以自己设计和制作的积木,你可以根据自己的需求来定制它们,然后把它们添加到你的堆栈中,让你的网站独一无二。 总的来说,Salesforce B2C Commerce的弹匣堆栈就像是一个灵活的功能积木系统,你可以根据自己的需求,选择不同的积木(磁带盒)来构建你的电商网站。无论是基本功能、插件功能、第三方集成,还是完全自定义的功能,你都可以通过这个系统来实现。

    查看详情
  • 3

    Cartridge Directory Structure

    第 34 页

    让我们来聊聊这个磁带目录结构。想象一下,你有一个磁带盒,里面装满了各种小盒子,每个小盒子都有它特定的用途。这个磁带盒的名字叫“dw.json”,它是用来上传代码的。 在这个磁带盒里,有一个叫做“package.json”的文件,它就像是这个磁带盒的说明书,告诉别人这个磁带盒里都有什么。 然后,我们打开这个磁带盒,里面有很多小盒子。第一个小盒子叫做“app_custom_Name”,这是你自定义的应用名称。接下来是“弹匣”,这听起来很有趣,对吧?它其实是用来存放客户端JavaScript和CSS文件的,这些文件让你的应用看起来更漂亮,运行得更顺畅。 再往里看,有一个叫做“应用程序的控制器”的小盒子,这里面装的是业务逻辑,也就是让你的应用能够按照你的想法去工作的代码。 接下来是“页面设计器的经验”,这也是一个存放业务逻辑和元数据的地方,元数据就是描述数据的数据,比如数据的格式、类型等。 “forms”小盒子里装的是表单的元数据文件,这些文件定义了表单的结构和行为。 “模型”小盒子里的内容是从服务器获取数据,并将其转换为JSON格式,这样你的应用就可以使用这些数据了。 “脚本”小盒子里装的是可重用的功能代码,这些代码可以在你的应用中被多次调用。 “静态”小盒子里装的是静态资源,比如图片、字体等,这些资源一旦编译后就不太会改变了。 最后,我们来到“模板”小盒子,这里面装的是ISML模板,这是一种用来生成HTML的模板语言。在这个小盒子里,还有一个叫做“默认”的文件夹,这是公共模板的位置。还有一个叫做“用于本地化的资源”的文件夹,这里面装的是属性文件,这些文件用来支持不同语言的本地化。 所以,你看,每个小盒子都有它特定的用途,它们共同构成了你的应用。记住,对于你创建的任何自定义磁带盒,你希望它的目录结构和这个基本磁带盒完全匹配,这样你的应用才能正常运行。储存这些文件和文件夹的方式很重要,因为它们是你应用的基础。

    查看详情
  • 4

    Cartridge Path

    第 35 页

    同学们,今天我们来聊聊如何在Salesforce中管理卡盒路径。首先,想象一下,你有一个店面,就像你在网上购物时看到的那个页面。现在,你想要在这个店面上添加一些新的功能或者内容,这些功能或内容就像是磁带盒里的磁带,每个磁带都代表了一个特定的功能或内容。 当你把这些“磁带盒”添加到店面后,你需要告诉店面这些新添加的“磁带盒”应该按照什么顺序来执行。这就是我们所说的“磁带路径”。磁带路径其实就是一个列表,它按照一定的顺序排列了所有的“磁带盒”,这样店面就知道应该先执行哪个功能或内容,后执行哪个。 那么,如何编辑这个磁带路径呢?很简单,你只需要进入业务管理器,然后选择“管理”>“网站”>“管理网站”。在这里,你就可以看到当前店面的所有设置,包括磁带路径。你可以根据需要添加、删除或者调整“磁带盒”的顺序,确保它们按照你希望的优先级来执行。 记住,正确的磁带路径设置对于确保店面功能的正确执行非常重要。所以,每次添加新的“磁带盒”后,别忘了更新磁带路径哦!希望这个解释对你们有帮助,如果还有疑问,随时提问!

    查看详情
  • 5

    Cartridge Execution

    第 36 页

    让我们来聊聊Salesforce B2C Commerce中的磁带盒路径这个概念。想象一下,磁带盒路径就像是一条小路,这条小路上有很多小房子,每个小房子里都放着一些文件。当你的店面需要执行代码时,它会沿着这条小路走,挨个查看这些小房子,寻找它需要的文件。 现在,假设你的店面代码需要调用一个叫`product.isml`的文件。这条小路上有两个小房子,一个叫`plugin_cartridge`,另一个叫`custom_cartridge`,它们里面都有`product.isml`这个文件。那么,B2C Commerce会怎么选择呢? 它会从这条小路的起点开始走,先看看第一个小房子`plugin_cartridge`,如果它找到了`product.isml`,它就会用这个文件。如果没找到,它就会继续往前走,看看下一个小房子`custom_cartridge`。 但是,如果两个小房子里都有`product.isml`,B2C Commerce会优先使用它找到的第一个文件。也就是说,它会用`custom_cartridge`里的`product.isml`,因为这个小房子在小路的更前面。 所以,磁带盒路径的顺序很重要,它决定了B2C Commerce会优先使用哪个文件。希望这个比喻能帮助你更好地理解这个概念!

    查看详情
  • 6

    Cartridge Path Considerations

    第 37 页

    同学们,今天我们来聊聊Salesforce Commerce Cloud中的墨盒路径注意事项。首先,我们要知道,在SFRA(Salesforce Reference Architecture)中,插件墨盒是围绕app_Storefront_base墨盒开发的。这些插件墨盒通常是与基础墨盒单独测试的,而不是相互之间进行测试。 这里有个问题,就是不同的墨盒可能会包含相互冲突的代码。举个例子,假设我们有一个模板路径是cartridge/templates/default/product/components/productAvailability.isml,这个模板可能被三个不同的插件墨盒使用:Plugin_giftregistry、插件安装拾取和插件意愿列表。 以前,如果你想了解这三个墨盒的功能,你有两种选择: 1. 反复修改墨盒路径:你可以添加或移除墨盒,单独查看每个墨盒的效果,但不能同时查看所有墨盒的效果。 2. 开发自己的定制墨盒:你可以创建一个定制墨盒来解决所有潜在的冲突,并把这个定制墨盒放在墨盒路径的最左边,这样它会被优先找到。 现在,有一个更简便的方法,就是使用plugin_cartridge_merge墨盒。这个墨盒可以帮助你自动解决这些冲突,节省你的时间。此外,你还可以在Business Manager中快速启用或禁用这些支持的墨盒。 这个功能是包含在Business Manager的All-in-One代码库中的。 最后,提醒大家,在使用多个链接和定制墨盒时,也可能会遇到类似的冲突。所以,在你的开发策略中,一定要考虑到这一点。 如果你对这个话题感兴趣,可以访问这个链接查看更多信息:https://github.com/SalesforceCommerceCloud/plugin_cartridge_merge。 好了,这就是今天的内容,希望对大家有所帮助。如果有任何问题,欢迎随时提问。

    查看详情
  • 7

    SFRA Modules

    第 38 页

    让我们来聊聊SFRA模块,也就是Storefront Reference Architecture模块。这个模块在Salesforce B2C Commerce中非常重要,因为它帮助我们组织和重用代码。 首先,你可以在店面的脚本代码中使用符合CommonJS规范的JavaScript模块。这意味着你可以创建一些功能,然后在不同的地方重复使用它们。比如说,如果你有一个计算折扣的函数,你可以把它放在一个模块里,然后在多个控制器中调用这个模块,而不需要每次都重写代码。 这些模块其实就是.js文件。你可以把这些文件放在一个特殊的模块文件夹里,或者放在卡带的脚本文件夹中。模块文件夹和磁带文件夹是类似的,但模块文件夹通常用于存放那些全球共享的模块,比如一些第三方提供的模块。 在SFRA中,模块文件夹里还包含了一些服务器模块。这些模块是专门为服务器端功能设计的。需要注意的是,这些模块的名字是保留的,也就是说你不能随便改它们的名字。如果你编辑了这些服务器模块,可能会影响到Commerce Cloud的向后兼容性,也就是说,未来版本的更新可能会出现问题。 所以,总结一下,SFRA模块帮助我们更好地组织代码,提高代码的复用性,但也要注意不要随意修改那些保留的服务器模块,以免影响系统的稳定性和兼容性。希望这些解释能帮助你更好地理解SFRA模块的作用和使用方法。

    查看详情
  • 8

    Best Practices for Cartridges

    第 42 页

    同学们,今天我们来聊聊Salesforce Commerce Cloud中的一个重要概念——卡盒最佳实践。想象一下,卡盒就像是一个工具箱,里面装满了各种工具,也就是我们说的卡带。这些卡带可以帮助我们构建和定制我们的电商网站。 首先,记住一个黄金法则:,不要直接修改基本卡盒中的任何内容,。这就像是工具箱里的基础工具,它们是通用的,适用于所有站点。如果我们直接修改这些基础工具,可能会影响到其他使用相同工具箱的站点,这可不是我们想要的结果。 那么,我们该怎么办呢?这里就引入了,自定义卡带,的概念。自定义卡带就像是工具箱里的专用工具,它们是为特定品牌或地区量身定制的。通过使用自定义卡带,我们可以将大部分通用的卡带堆栈保留下来,重复用于其他站点,同时又能满足特定需求。 举个例子,假设我们有一个全球性的电商平台,但每个国家的站点需要展示不同的促销活动。我们可以在基本卡盒中保留通用的卡带,比如产品展示、购物车功能等,然后为每个国家创建一个自定义卡带,专门用来展示该国的促销活动。这样,我们既能保持核心功能的一致性,又能灵活应对不同市场的需求。 总结一下,卡盒最佳实践的核心思想就是:,保持基本卡盒的纯净,通过自定义卡带来实现特定功能,。这样不仅能提高开发效率,还能确保系统的稳定性和可维护性。 好了,今天的课程就到这里,希望大家能记住这个重要的最佳实践,并在实际项目中灵活运用。如果有任何问题,随时提问哦!

    查看详情
  • 9

    Lesson 3: Knowledge Check

    第 43 页

    同学们,今天我们来聊聊Salesforce中的app_storefront_base和模块的搜索机制。想象一下,你在一个图书馆里找一本书,图书馆有很多书架,每个书架上都有不同的书。在Salesforce中,app_storefront_base就像是一个大书架,里面有很多小模块,这些小模块就像是书架上的书。 当你想要找某个特定的功能或者控制器时,Salesforce会从左到右,一个模块一个模块地搜索,就像你在书架上一本一本地找书一样。它会一直找,直到找到第一个符合你要求的控制器或管道。这个机制的好处是,如果在路径的前面部分找到了你需要的功能,它就不会再继续往后找了,这样可以节省时间,提高效率。 所以,记住,Salesforce在搜索模块时,是从左到右,找到第一个匹配的就停止。这样设计是为了让路径前面的模块可以覆盖后面模块的功能,给了开发者更多的灵活性和控制权。希望这个比喻能帮助大家更好地理解这个概念。

    查看详情