Javascript 在Backbone.js应用程序中实现多主题支持
我有一个Backbone.js SmartTV应用程序,可以提供视频点播和直播电视内容。目前的布局与您预期的一样—顶部导航、子导航和下面的主要内容区域显示给定类别的资产Javascript 在Backbone.js应用程序中实现多主题支持,javascript,html,templates,design-patterns,backbone.js,Javascript,Html,Templates,Design Patterns,Backbone.js,我有一个Backbone.js SmartTV应用程序,可以提供视频点播和直播电视内容。目前的布局与您预期的一样—顶部导航、子导航和下面的主要内容区域显示给定类别的资产 +----------------------------------------------------+ | Top Nav | | |
+----------------------------------------------------+
| Top Nav |
| |
+----------------------------------------------------+
| Sub Nav |
+----------------------------------------------------+
| Content |
| +------+ +------+ +------+ +------+ +------+ |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| +------+ +------+ +------+ +------+ +------+ |
| +------+ +------+ +------+ +------+ +------+ |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | |
| +------+ +------+ +------+ +------+ +------+ |
+----------------------------------------------------+
内容由单独托管的Rails应用程序提供(它构成了管理端)。应用程序在启动时向Rails API发出一个大的JSON请求,将所有内容解析为主干模型,然后在页面上呈现。然后客户端应用程序定期查询服务器以检查更新
在某种程度上,我需要从管理的角度实施主题化,以便客户能够为他们的电视体验树立品牌。我认为最基本的方法是允许管理员从一系列选项(徽标、颜色、尺寸等)中进行选择。这似乎很容易做到,因为这些选项可以简单地在初始JSON负载中传递给客户机。但问题是,它们仍然会粘在相同的基本布局上
我真正需要弄清楚的是如何允许用户彻底改变布局。例如,将导航移动到屏幕左侧或底部,或者根本没有高级导航(屏幕上只有一组资产)
我甚至不知道如何在主干应用程序中实现这一点,因为这远远超出了更改CSS的范围。它需要完全不同的远程导航逻辑、完全不同的主干视图等等
我想知道是否有人遇到过类似于主干网的需求,或者您将如何构建类似的东西
我的直觉告诉我,我可以按如下方式重组我的应用程序:
- 模板/
- 违约/
- js/
- config.js
- 路由器.js
- 意见/
- html/
- css/
- 侧导航/
- js/
- config.js
- 路由器.js
- 观点/
- html/
- css/
- 违约/
- 核心/
- 模型/
- 模块/
- application.js
然而,这似乎接近于为每个单独的主题编写一个全新的应用程序,唯一的共享代码存在于各种模型/模块中。有没有更优雅的方法来实现这一点?这真的应该是简单地更改css的情况。如果不是这样,那么就有问题了。您可以为用户提供一组预定义的css模板,或者让他们输入自己的模板。这也可以让他们建立自己的品牌。在视觉上,是的,我可以简单地允许更改CSS。但由于这是一款电视应用程序,遥控器导航的逻辑需要根据不同的布局进行更改。