使用AngularJS和Sitecore(SPA)构建单页应用程序

时间:2016-01-12 07:09:08

标签: angularjs sitecore sitecore8

我想实现Sitecore应用程序(带角度js的单页设计):

  1. 可能吗?
  2. 如果有可能,那么体验编辑器会如何使用呢?
  3. Sitecore个性化怎么样?
  4. 我对角度js没有经验。我应该考虑什么来实现这个目标
  5. 我将使用Sitecore 8.我发现了this helpful blog,但正如他所提到的,页面编辑器根本不起作用

    感谢。

3 个答案:

答案 0 :(得分:4)

1

是的,我可以在Sitecore 7中使用AngularJS为前端实现SPA,并使用WebAPI为Sitecore项目提供数据,这一切都很好地协同工作。

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

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

2

对于我的实现,体验编辑器不起作用,因为我使用AngularJS来操作和呈现数据。如果您不使用AngularJS提取数据,则可以使用Sitecore控件,但我不认为它可以在不使用代码进行黑客攻击的情况下实现。

3

如果您使用Sitecore控件,则应该可以通过体验编辑器进行个性化。可以通过内容编辑器和代码进行个性化。我建议您像大多数Sitecore实施一样构建SPA;布局,子布局等。您可以通过控制器,应用程序逻辑等中的代码实现个性化

4

我也没有AngularJs的经验,但是我从教程中学到了我需要知道的一切,剩下的就足够了,你可以弄清楚你是否熟悉任何编程语言。我建议你通过这个Codecademy Tutorial来完成练习 - 这是我学习的方法。

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

答案 1 :(得分:1)

  1. 是的,有可能
  2. 是的,你可以使用体验编辑器,但你必须以特定的方式构建网站。不是“正常”的方式。
  3. 同样,与体验编辑器一样,您可以使用它,但必须构建网站以适应它。
  4. 对Angular不确定 - 我使用过骨干,但原理非常相似。
  5. 我有一篇关于我们如何为客户实现此目标的博文:http://www.sitecorenutsbolts.net/2015/12/07/Single-Page-Applications-in-Sitecore-Part-I/

    请仔细阅读,它给出了在SPA中启用Sitecore时应遵循的原则。

答案 2 :(得分:0)

Sitecore中可以做任何事情,但是某些自定义过于复杂而不能被认为是实用的。

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

  1. 使用

    显示各种视图

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

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

  2. 将个性化范围限制为内容

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

  4. 更具挑战性的是:

    1. 利用Personalization动态显示不同的渲染。隐藏/显示渲染等

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