如何将Theme中定义的脚本包含在Orchard中的Modules视图中

时间:2013-01-11 19:24:29

标签: asp.net asp.net-mvc razor asp.net-mvc-4 orchardcms

我为主题中的所有不同模块定义样式。主题的Styles文件夹中的每个CSS文件都属于某个模块。只有主题知道哪个文件是哪个。我希望模块中的视图包含通过Style.Require在主题中定义的样式。只要主题知道确切的css文件,我只能使用与主题级别的资源相关联的名称间接进行。问题是,当我在模块中使用该名称时,无法解析。那么在Orchard有没有办法做这个技巧?

2 个答案:

答案 0 :(得分:0)

使用Style.Require而不是Style.Include,并提供一些指向这样的样式表的路径:

@{
    Style.Include(Html.ThemePath(WorkContext.CurrentTheme,
                                 "/Styles/my-module-stylesheet.css");
}

您无需为此工作定义资源。

答案 1 :(得分:0)

好的,对我有用的是:

在模块的视图中使用

Style.Require("SomeStyleTobeDefinedInTheme");

在主题中的ResourceManifest添加

var manifest = builder.Add();
manifest.DefineStyle("SomeStyleTobeDefinedInTheme").SetUrl("themed-module.css");

重要!不要在模块的ResourceManifest中定义样式!