7

我是 Demandware 的新手,我正在从 Magento 切换到 Demandware。Demandware 不是开源的我没有得到适当的教程,了解它的概念的东西。

我来自 Magento,所以我知道 Magento MVC 结构。但在 Demandware 中,我们有不同的概念,如管道、管道、ISML 脚本、ECMA 脚本、DW 脚本等。

我想知道 Demandware 的 MVC 模式。它是如何工作的,我需要集中精力的基本概念是什么?

4

4 回答 4

7

我建议尽快为您申请一个 Demandware XChange 帐户,以便您可以访问 Demandware 社区门户以及 API 文档。

简而言之:

  1. 模型是 Demandware 表单和 Demandware API 对象
  2. 控制器是 Demandware 管道(最近发布了一些 JavaScript 控制器,如果您有 Node.js 经验,您可能会发现这些更容易理解)。这些可以调用 DW 脚本(DemandwareScript 基于 JavaScript 的 ECMAScript 标准 5.0,带有一些扩展,如 E4X 和可选类型)
  3. 视图是 isml 模板。您应该避免在其中包含大量逻辑,无论是使用 isif、isloop 等 isml 标签还是使用 isscript。

任何进一步的问题 - 让我知道。

希望这可以帮助,

兹拉丁

于 2016-05-09T14:10:13.890 回答
1

Demandware 文档是开源的,现在任何人都可以在没有交换帐户的情况下访问它,它具有最新的基于 SFRA(javascript) 的概念,这里是文档 Demadware 文档的链接

于 2019-12-02T09:11:26.840 回答
1

我希望您能够避免使用管道和 dwscript。那些有点老了。最新版本使用普通的旧 JavaScript,管道被控制器取代。

请注意,底层的 JavaScript 引擎是 Rhino,它并不是真正的现代。

于 2017-08-16T14:41:41.150 回答
0

Demandware 是围绕 MVC 概念设计的(理论上)。管道基本上是您的控制器,每个管道文件名(xml 文件)是 URL 的第一部分,管道内的起始节点是基本上代表控制器的 URL 的第二部分(例如 Cart.xml 有一个起始节点称为 Show,因此 url 是 Cart-Show)。在管道流程图的末尾,通常是一个链接到 ISML 文件的交互节点,这些节点基本上是视图,是带有一些特定于 Demandware 的次要标记的 HTML。

通常在 MVC 世界中,您会尝试阻止将业务逻辑放入视图中,但是如果您使用 SiteGenesis 作为起点,您会发现大多数页面并非如此。如果您切换到使用 Javascript 控制器而不是管道,那么它将更接近 MVC 的 Magento 风格(但使用类似 NodeJS 的语法)。

于 2016-10-05T00:25:52.050 回答