OS2.1 主题
OS 2.1 主题是一组功能特性的改进,使主题和 Theme App Extension 更易于构建、更加灵活且更易于维护。
如何区分新旧主题
目前 SHOPLINE 有三个版本的主题:
- Online Store 1.0
- Online Store 2.0
- Online Store 2.1(最新)
你可以通过 window.Shopline
的 themeTypeVersion
属性进行判断,类型为 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 主题破坏性变更
- OS 2.1 主题模版我们废弃了活动页路由,所以主题文件中没有活动页模版。
- 移除了全局的开放事件,比如加购事件等。开发者需要操作 DOM 来实现相关逻辑,具体请参考 OS 2.1 主题事件。
- 我们使用原生语法进行开发,尽可能不使用第三方库。所以我们移除了
JQuery
和图片懒加载库等第三方库。图片懒加载则使用原生的懒加载能力。
这篇文章对你有帮助吗?
Error loading component.