2016-07-19 6 views
1

Я использую Orchard 1.10.1 CMS. Я создал модуль виджета в коде. В файле ResourceManifest я добавил этот кодResourceManifest SetDependecies не работает в модуле Orchard

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"); 
} 

пс: В папке Style моего модуля проекта у меня есть ShareButtons.css и font-awesome.css.

ответ

4

Ваша установка неправильная. Вы должны либо зарегистрировать параметр самостоятельно (как и ваш ShareButton-Style), либо в вашем случае использовать правильный ресурс FontAwesome от Orchard.Resources.

Так что ваш код будет выглядеть следующим образом:

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); 
     } 
    } 
}