我有一个与客户合作的网站。每个客户端都可以有自己的主题,当某个客户端的用户登录时,必须加载公司主题。在 application.css.scss 中,我为每个公司都有这样一行:
@import "_theme_x.css.scss";
@import "_theme_y.css.scss";
@import "_theme_z.css.scss";
我怎样才能只加载例如theme_x 当公司 x 的用户登录并且不加载 theme_y 和 theme_z 时?或者有更好的方法吗?谢谢!
如果主题很大,您可能希望将它们与 application.css 分开,并有条件地将它们加载到布局中。例如,如果你有一个帮手theme_stylesheet
在 application_helper 中,它返回客户端正在使用的主题的名称:
# application.html.erb
<%= stylesheet_link_tag 'application', theme_stylesheet %>
如果它们很小,我喜欢命名空间。保持 application.css 不变,但修改主题以在正文上使用顶级规则。在正文上放置标签以选择主题。这样做的好处是您可以动态更改主题。
<body class="theme-<%= theme_stylesheet %>">
...
</body>
_主题_x.css.scss
body.theme-x {
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)