有没有人有任何使用MVVM模式和/或knockout.js,angular,js或handlebars / js与sitecore的页面编辑器模式的经验?
我还没有完成很多页面编辑器模式工作,但我的直觉是,如果使用上述任何库,则字段渲染器所需的sitecore上下文将成为一个问题。
在深入了解原型之前,有人能告诉我这是否可能?
如果有一些文件或示例,这将是一个奖励。
答案 0 :(得分:5)
在所有不同类型的控件背后都有很多功能,并且使它们在页面编辑器中工作,你将会花费太多时间进入这个imo。甚至像Glass.Mapper这样的一些ORM项目也会回归到使用Sitecore控件进行页面编辑器模式。
在走这条路之前,我会仔细考虑。不仅从技术角度,而且从支持,维护和未来升级的角度来看。
我注意到你用Sitecore 6标记了这个问题,但最新版本的Sitecore是7,因为本月有7.1支持SPEAK UI。您不知道未来版本中会出现哪些更改,至少采用更标准的方法,您知道Sitecore为您的项目提供了一个不那么痛苦的升级路径。
如果您离开并且其他人需要接管该项目会发生什么? Sitecore是一个非常小众的开发者市场,你刚刚让你的候选人群更加利基。您还必须从Sitecore支持的角度思考,如果您需要参与它们,那么您可能会遇到另一个问题。
然后你还需要考虑DMS,个性化,A / B和多变量测试,所有这些都来自页面编辑器,所有这些都打开了另外一堆蠕虫。
没有理由不能将Knockout.js与Sitecore一起用于项目的某些部分。
这只是我的2美分。
但是,不要让这阻止你探索这个想法,它是推动进步的动力,并且已经导致了一些非常棒的共享源模块:)
答案 1 :(得分:1)
我的假设是,如果您使用Angular或某种MVVM库来构建应用程序,并且您希望它填充来自Sitecore的数据,则需要构建RESTful服务以从Sitecore提取数据API。
我无法想象一个与页面编辑器配合得很好的实例。 Angular中的模板永远不会通过.net运行。即使你试图变得棘手并且使用角度为.aspx或.ashx的模板或者通过IIS运行的东西,Angular可能会在本地缓存这些模板,因此它们根本无法被重用。
网上有一些关于Sitecore + Angular的内容,但我没有找到任何提及页面编辑器支持的内容。
http://www.isitedesign.com/sitecore/2013/11/14/building-single-page-applications-with-angular-and-sitecore/ https://github.com/PetersonDave/SinglePageAppDemo
答案 2 :(得分:0)
要通过REST从Sitecore获取数据,您可以使用Sitecore Item Web API,它允许基于HTTP访问Sitecore中的项目。
查看Sitecore开发者网络了解更多信息。 此外,还有几篇不错的文章在这个主题上浮动。