我正在编写一个 CMS,它允许以所见即所得的方式在网站上创建和编辑元素(内容块)。基本上,登录后,您会在视觉上看到同一个网站,但是悬停并单击元素会显示编辑器(如 Aloha)或其他控件。
例如:
- 悬停段落会在其侧面显示一个小菜单,允许在左对齐、居中对齐和右对齐之间进行选择
- 单击段落将使其可编辑
- 将鼠标悬停在图像上会在图像右侧显示一个点,可以拖动它从而改变图像的宽度(高度会按比例更新)
- 悬停在网站中的任何块会弹出一个“+”按钮,允许在悬停块之前创建另一个块。
- 等等
我目前的策略是使用我在Nike Better World上看到并一直使用的类似技术:有一个实例化 javascript,它在每个具有 data-controller 属性的 html 元素上调用 jquery 插件,插件的名称是由数据控制器属性指定。
稍微扩展这个概念,我将使用它将各种控件附加到内容块。
但是,作为一个菜鸟,直到最近我才遇到了 javascript mvc 框架,比如backbone.js。我一直在服务器端(在 Kohana 中)使用 MVC,但还没有在 javascript 中使用。似乎我可以使用它,但我不清楚,策略是什么。我正在开发的 CMS 是一种介于适当的 javascript 应用程序和老式 html 网站之间的混合体。我不明白,如果它们已经加载到页面 html 中(这对我来说用 javascript 加载它们没有意义),我该如何使用,例如,backbone.js 的内容块的集合对象。
有人有什么建议吗?