我目前正在开发一个简单的 Web 应用程序,其中每个用户都有自己的站点和自己的子域。
我想给每个用户一个设置面板,他们有一个表单,可以只为他们的站点更改一些简单的 css 属性。
我正在考虑使用 jquery 和颜色选择器来更改元素颜色的简单表单。但是,每个用户可能都必须拥有自己的样式表吗?(没有完全访问它的权限,只是为了使该站点的属性是唯一的。)
我不完全确定如何将所有这些放在一起。
如果有人有想法,我将非常感谢您的帮助。
我目前正在开发一个简单的 Web 应用程序,其中每个用户都有自己的站点和自己的子域。
我想给每个用户一个设置面板,他们有一个表单,可以只为他们的站点更改一些简单的 css 属性。
我正在考虑使用 jquery 和颜色选择器来更改元素颜色的简单表单。但是,每个用户可能都必须拥有自己的样式表吗?(没有完全访问它的权限,只是为了使该站点的属性是唯一的。)
我不完全确定如何将所有这些放在一起。
如果有人有想法,我将非常感谢您的帮助。
也许这个网站会帮助你入门。
http://www.thesitewizard.com/javascripts/change-style-sheets.shtml
也看到这个。
http://www.thesitewizard.com/css/switch-alternate-css-styles.shtml
最容易实现的是在布局的 html-head 部分生成可定制的 css 语句,而不是在单独的 css 文件中。这样您也不必考虑缓存问题。
当然这不是最可扩展的方法,因为 css 是为每个页面编写的。但首先让它工作,而不是让它快速。
好的,所以我找到的答案很简单。
为了更改背景颜色:string
,我在sites
表中添加了一个名为bgcolor
.
然后,我将新输入添加到我的简单表单中 - 在站点的新视图和编辑视图中。
最后,我在用于用户站点的布局<style>
中添加了一个内联块
<style type="text/css">
body{ background-color: <%= @site.bgcolor %>;}
</style>
我想定制的所有其他东西都是一样的。一切似乎都奏效了。为 ERB 取胜。