Css 有没有一种方法可以使用2sxc和razor模板创建(和更新)样式表?

Css 有没有一种方法可以使用2sxc和razor模板创建(和更新)样式表?,css,dotnetnuke,2sxc,Css,Dotnetnuke,2sxc,DNN 9.3.2/2sxc 10.25.2 我有一个DNN主题,我用在某一类型的子门户-我最终将有8个子门户。每个子门户都有相同的布局,但它们在各自的主题中有不同的颜色。因此,我必须创建一个样式表,其中包含CSS规则和每个主题的颜色。我知道有两种相对简单的方法可以做到这一点: 修改每个门户的portal.css以覆盖主题或(简单但可能难以维护更新) 为每个门户构建自定义主题(overkill) 使用SCSS创建包含8个不同变量文件的模板(工作正常,但不允许内容编辑器进行修改) 所以,我很好奇,

DNN 9.3.2/2sxc 10.25.2

我有一个DNN主题,我用在某一类型的子门户-我最终将有8个子门户。每个子门户都有相同的布局,但它们在各自的主题中有不同的颜色。因此,我必须创建一个样式表,其中包含CSS规则和每个主题的颜色。我知道有两种相对简单的方法可以做到这一点:

  • 修改每个门户的portal.css以覆盖主题或(简单但可能难以维护更新)
  • 为每个门户构建自定义主题(overkill)
  • 使用SCSS创建包含8个不同变量文件的模板(工作正常,但不允许内容编辑器进行修改)
  • 所以,我很好奇,是否有一种更聪明的方法通过2sxc,不仅使我易于维护,而且使我的门户网站的内容编辑器也易于维护

    我想创建2sxc内容模块,为颜色选择器创建几个不同的字段,允许我(和我的内容编辑器)简单地打开2sxc编辑模式(在主页上),填写所有颜色字段,然后razor模板将输出带有颜色的CSS模板,以覆盖DNN皮肤上的主题样式。我知道我可以用内联CSS实现这一点,但这意味着该模块必须出现在每个页面上,我也希望避免使用内联CSS

    所以我的想法是,它的工作原理如下:

  • 在每个门户的单个页面上都有一个2sxc内容模块
  • 编辑模式>字段类似于:原色(rgba)、副色(rgba)、灰色(rgba)等
  • 单击“保存”后,模板将修改由皮肤加载的门户级theme.css文件
  • 对模块的任何更改都将导致CSS文件的重写
  • 我可以更新c#razor模板来添加、删除或修改规则或转换输入值

  • 这是可能的还是太复杂了?有更好的方法吗?

    所以我已经离开很长一段时间了,我希望我的回答仍然会有帮助

    我们有一个非常简单的解决方案:)。如果您签出,您将看到我们在
    标记中添加了各种类


    这样,我们就可以使用主题的常规CSS以及基于portal-27等的规则来根据门户的不同而变化

    我期待着看到其他答案。基本上,您希望有一个原型文件,一个提供自定义“令牌”值的内容类型,然后将其替换到文件原型中,然后将其另存为Portal.css。实际上,只要有指定输出文件的字段,就可以将其保存到任何文件中。我希望我有更多的时间来考虑这个问题……这个答案很有用,但我的想法更多的是为非技术性内容编辑器制作一个自定义主题编辑器,而不是将所有门户样式打包到一个主题中。在我所做的任务中,最终我的用户不需要编辑主题,因此我只使用SCS创建单独的覆盖,以设置每个门户的样式,使其运行良好。