ResourceManifest SetDependecies 在 Orchard 模块中不起作用

ResourceManifest SetDependecies doesn't work in Orchard module

我使用 Orchard 1.10.1 CMS。我在代码中创建了一个小部件模块。在 ResourceManifest 文件中我添加了这段代码

public void BuildManifests(ResourceManifestBuilder builder)
    {
        var manifest = builder.Add();
        manifest.DefineStyle("ShareButtons").SetUrl("ShareButtons.css").SetDependencies("font-awesome.css");
    }

我在模板 cshml 中添加了这段代码

@{    
Style.Require("ShareButtons");
}

问题是在这种情况下文件 font-awesome.css 不会出现在页面的源文件中。

我做错了什么?

当我在模板中使用这段代码时,它工作正常,font-awesome.css 将出现在页面的源文件中

@{    
Style.Include("font-awesome.css");
Style.Include("ShareButtons.css");
}

ps:在我的模块项目的 Style 文件夹中,我有 ShareButtons.cssfont-awesome.css.

您的设置有误。您必须自己注册一个依赖项(就像您的 ShareButton-Style),或者在您的情况下使用 Orchard.Resources.

中的正确 FontAwesome 资源

因此您的代码将如下所示:

manifest.DefineStyle("ShareButtons") .SetUrl("ShareButtons.css") .SetDependencies("FontAwesome");

这是您需要的 FontAwesome 的设置,作为来自 Orchard.Resources 的依赖项:

namespace Orchard.Resources {
    public class FontAwesome : IResourceManifestProvider {
        public void BuildManifests(ResourceManifestBuilder builder) {
            var manifest = builder.Add();
            manifest.DefineStyle("FontAwesome").SetUrl("font-awesome.min.css", "font-awesome.css").SetVersion("4.4.0").SetCdn("//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css", "//maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.css", true);
        }
    }
}