【问题标题】:Demandware MVC conceptDemandware MVC 概念
【发布时间】:2016-09-03 20:02:05
【问题描述】:

我是 Demandware 的新手,我正在从 Magento 切换到 Demandware。 Demandware 不是开源的

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

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

【问题讨论】:

    标签: model-view-controller concept demandware


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        我建议尽快为您申请一个 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。

        任何其他问题 - 让我知道。

        希望这会有所帮助,

        扎拉丁

        【讨论】:

        • 是的,我正在等待我的 XChange 帐户。您很好地解释了需求软件的 MVC。我只有一个问题要问你。这些 ECMA、DW、ISML 脚本是否需要特殊知识?我使用过 JS、Jquery、AJAX。不适用于 Node.js。
        • 不需要特殊知识。但是,您需要一段时间才能了解来自 Demandware Script API 的不同类具有哪些功能。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-31
        • 1970-01-01
        • 2011-09-09
        • 2012-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多