Orchardcms Orchard CMS:向页面添加样式表

Orchardcms Orchard CMS:向页面添加样式表,orchardcms,orchardcms-1.6,Orchardcms,Orchardcms 1.6,设置: 我正在使用Orchard CMS 1.6 我有一个网站,我需要能够设置整个页面的背景色。Ie,我需要设计身体标签的样式 我可以使用LayoutSelector模块,并具有不同的布局。但是,每个布局中唯一的区别是body标记的背景色规则不同。因此,这似乎是一种非常不干燥的做事方式 我找不到任何方法让Vandelay.Classy向body标记添加一个不同的id或类(据我所知,它向内容类型的外部标记添加了一个id或类)。就我而言,这不是body标签 所以这不好,我真的需要定制body标签 如

设置:

我正在使用Orchard CMS 1.6

我有一个网站,我需要能够设置整个页面的背景色。Ie,我需要设计身体标签的样式

我可以使用LayoutSelector模块,并具有不同的布局。但是,每个布局中唯一的区别是body标记的背景色规则不同。因此,这似乎是一种非常不干燥的做事方式

我找不到任何方法让Vandelay.Classy向body标记添加一个不同的id或类(据我所知,它向内容类型的外部标记添加了一个id或类)。就我而言,这不是body标签

所以这不好,我真的需要定制body标签

如何做到这一点

注:

我需要3种不同的背景色。我还有两列和三列的布局。[我使用(修改版本的)layoutSelector模块来实现这一点。]因此,要有3种不同颜色的背景,我使用布局来实现这一点,我需要6种不同的布局:TOTAL overkill


必须有更好的方法…

从任何cshtml文件中,您应该能够访问布局形状。从几乎所有其他地方,您仍然可以通过WorkContextAccessor访问布局形状。一旦您有了对布局形状的引用,就可以执行
Layout.Classes.Add(“您想要的类”)

那么如果我执行Layout.Classes.Add,该类会被添加到body标记中吗?添加一个完整的样式表怎么样?肯定有办法做到这一点吗?通过这种方式,我可以覆盖现有的样式(尽管我需要设置样式表的顺序以使其正常工作…),这取决于layout.cshtml和document.cshtml的编写方式,但无论如何,应该将该类添加到树中足够高的元素中,以支持您的场景。试试看。。。至于添加样式表,更简单:只需调用Style.Include.you完全误解了我的意思。我想在仪表板中为给定页面添加样式表。我完全理解您的意思。除非您为此开发了一个模块(Vandelay.Industries模块的经典功能就是这样做的),否则您无法从仪表板执行此操作。我将向您解释如何构建这样一个模块,或者如何从您的主题进行构建。不客气。谢谢,很高兴知道我不客气。我将编写用于添加样式表的模块。我觉得这是必要的。