【问题标题】:Building a Single Page Application with AngularJS and Sitecore (SPA)使用 AngularJS 和 Sitecore (SPA) 构建单页应用程序
【发布时间】:2016-01-14 01:16:42
【问题描述】:

我想实现 Sitecore 应用程序(使用 Angular js 进行单页设计):

  1. 这可能吗?
  2. 如果可能的话,体验编辑器怎么样?
  3. Sitecore 个性化怎么样?
  4. 我没有使用 Angular js 的经验。我应该考虑什么来实现这一目标

我将使用 Sitecore 8。我找到了 this helpful blog,但正如他所说,页面编辑器根本无法工作

谢谢。

【问题讨论】:

  • 可以始终使用 cms 的后端来编辑内容并使用 ajax api 来提供该内容。不确定您的总体目标是什么

标签: angularjs sitecore sitecore8


【解决方案1】:

1.

是的,这是可能的,我在 Sitecore 7 中使用AngularJS 为前端实现了一个 SPA,WebAPI 用于提供来自 Sitecore Items 的数据,这一切都很好地协同工作。

您可以考虑使用 Sitecore MVC Controllers,它与 WebAPI 一样有效。或者,如果您有时间学习新的 Sitecore 技术,您可以使用Sitecore's Entity Service 进行研究。两者都适用于从 Sitecore 提供数据。

根据经验,我建议您制作负责 AnglarJS 使用的单一类型数据的控制器。控制器传递的模型应该是精简的,只包含与控制器目的相关的数据。

2.

对于我的实现,体验编辑器无法工作,因为我使用 AngularJS 来操作和呈现数据。如果您不使用 AngularJS 提取数据,则可以使用 Sitecore Controls,但我认为如果不使用代码破解它是不可能的。

3.

如果您使用 Sitecore Controls,应该可以通过体验编辑器进行个性化。通过内容编辑器和代码进行个性化是可能的。我建议您像构建大多数 Sitecore 实现一样构建您的 SPA;布局、子布局等,可以通过Controllers、Application Logic等代码实现个性化

4.

我也没有使用 AngularJs 的经验,但我从教程中学到了我需要知道的一切,其余的内容合乎逻辑,足以让您弄清楚您是否熟悉任何编程语言。我建议你通过这个 Codecademy Tutorial 完成练习 - 这是我学到的。

我还没有写一篇关于我如何实现它的博客,但 Dave Peterson 在his experiences with SPA with Sitecore and AngularJs 上写了两篇博文,可能值得一读。

【讨论】:

  • @Jonathan Robbins 我可以用 SiteCore 9 实现 Angular js
【解决方案2】:
  1. 是的,有可能
  2. 是的,您可以使用体验编辑器,但您必须以特定方式构建站点。不是“正常”的方式。
  3. 同样,与体验编辑器一样,您可以使用它,但必须构建网站以适应它。
  4. 不确定 Angular - 我使用过骨干网,但原理非常相似。

我有一篇关于我们如何为客户实现这一目标的博文:http://www.sitecorenutsbolts.net/2015/12/07/Single-Page-Applications-in-Sitecore-Part-I/

阅读一下,它提供了在 SPA 中启用 Sitecore 应遵循的原则。

【讨论】:

    【解决方案3】:

    在 Sitecore 中一切皆有可能,但某些定制过于复杂,不实用。

    您可以轻松构建具有以下限制的 SPA 应用程序:

    1. 使用任一显示各种视图

      a) 服务器生成的模板,或

      b) 带有 Sitecore 管理内容的静态 .html 模板(通过自定义控制器或 Content API 作为 json 检索)并使用 AngularJS 绑定到模板。

    2. 将个性化的范围仅限于内容

    3. 拥有与最终用户体验显着不同的体验或页面编辑器视图。即便如此,这也需要单独的设计来创建和维护。

    更具挑战性的是:

    1. 利用个性化来动态显示不同的渲染。隐藏/显示效果图等

    2. 让体验编辑器反映 SPA 体验的实际设计

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-07
      • 2013-02-20
      • 2013-07-31
      • 2014-02-19
      • 2022-10-20
      • 2020-04-04
      • 1970-01-01
      相关资源
      最近更新 更多