OS2.1 主题

OS 2.1 主题是一组功能特性的改进,使主题和 Theme App Extension 更易于构建、更加灵活且更易于维护。

如何区分新旧主题

目前 SHOPLINE 有三个版本的主题:

  • Online Store 1.0
  • Online Store 2.0
  • Online Store 2.1(最新)

2.1-tag.png

你可以通过 window.ShoplinethemeTypeVersion 属性进行判断,类型为 number 类型。

提示
主题版本设置是通过 settings_schema.json 文件中的 theme_type_version 字段来控制的。

特性及亮点

OS 2.1 主题是面向开发者设计的,它的底层拥有一套更优且高效渲染机制。它可以帮助开发者构建出更灵活且更易于维护的主题。

你可以在这里找到主题开发的完整教程。

Web Components

OS 2.1 主题大量使用了 Web Components 特性。利用此特性,可以轻松实现主题组件的封装和可重用。这些特性是原生浏览器自带的,而且性能更优。

使用 Web Components 也可以进一步简化组件在编辑器中片段渲染的逻辑,你无需关心编辑器发出的事件。插入元素到浏览器时就能自动触发初始化。

更加完善的开放能力

完善的 helper 能力

SHOPLINE 进一步完善了 helper 能力,丰富了 helper 数量。将一些功能收拢并提供了标准化的输出,以提高主题的开发效率。例如:

  • 提供 image_tag helper,传入图片数据后可以输出标准化的 img 标签。
  • 提供 capture helper, 可以更加高效的进行字符串生成。
  • 提供 case helper, 可以进行类似 switch 的条件判断。

完善的 Object 字段

我们优化了所有商店数据的 Object,对所有 Object 都进行了统一的标准化,不再需要复杂的计算。例如:

  • 如果该字段是返回图片数据,那它必定是一个 image object。而不再只是一个图片地址的字符串。
  • 控件配置下发的数据也进行了标准化,可直接对应 Object 的属性。如product_picker下发的配置可直接使用类似于 section.settings.xxx.title 输出商家配置的商品标题。
  • 对各个页面的跳转链接进行了统一,可以通过 routes object 输出对应页面的跳转链接,并且这些链接已自动处理市场路径的逻辑。

友好的 loadFeatures 能力

我们对一些统一能力进行了收拢,开发者无需关心实现细节即可调用某些能力。例如:

  • 注册页面中的发送手机号验证码逻辑,只需简单调用loadFeatures就可以发送验证码。
提示

基于以上优点,推荐开发者使用 OS 2.1主题进行主题开发。在后续版本更新中,我们将降低旧主题的更新频率直至不再更新。

OS 2.1 主题破坏性变更

  1. OS 2.1 主题模版我们废弃了活动页路由,所以主题文件中没有活动页模版。
  2. 移除了全局的开放事件,比如加购事件等。开发者需要操作 DOM 来实现相关逻辑,具体请参考 OS 2.1 主题事件
  3. 我们使用原生语法进行开发,尽可能不使用第三方库。所以我们移除了JQuery和图片懒加载库等第三方库。图片懒加载则使用原生的懒加载能力。
这篇文章对你有帮助吗?

Error loading component.

Error loading component.