2014-08-28 65 views
0

TLDR:如何對捆綁樹枝模板中的資產進行資產掃描?如何使資產掃描捆綁模板外的樹枝模板

我幾乎沒有註冊巫師。每個嚮導都有它自己的觀點目錄,文件結構如下所示:

/SiteBundle/Wizard/General/Resources/views 
/SiteBundle/Wizard/CountrySpecific/Resources/views 
/SiteBundle/Wizard/[...several more...]/Resources/views 

在config.yml我定義了樹枝這些路徑,所以我可以用@ general_wizard/template.html.twig路徑:

twig: 
    paths: 
     "%kernel.root_dir%/../src/MyWeb/SiteBundle/Wizard/General/Resources/views": general_wizard 
     "%kernel.root_dir%/../src/MyWeb/SiteBundle/Wizard/CountrySpecific/Resources/views": country_specific_wizard 

的問題是,在這些模板中使用(嚮導目錄內)的資產不使用assetic傾倒:傾倒。當我將視圖源移動到常規SiteBundle/Resources/views時,所有資產都被正確轉儲。

有沒有辦法讓Assetic檢查外部模板呢?

回答

0

股票assetic:dump(SF 2.3)不可能,因爲/Resources/views/路徑在GeneratorBundle中被硬編碼,該路徑再次提供要處理爲資產的文件列表。當然,你可以編寫自己的命令,但你基本上會重新發明輪子。

我會建議保持與Resources/views慣例,並創建下面的子類別:

/SiteBundle/Resources/views/General 
/SiteBundle/Resources/views/CountrySpecific 

這將有同樣的效果,並且不會要求您與SF2各地編寫自己的命令和混亂內部。

0

在項目根目錄中將所有模板移動到templates之後,我遇到了同樣的問題,因爲它可能會在未來的Symfony版本中出現。

最簡單的解決方案是配置配置文件中的所有資源,並找到web目錄中的輸出文件,例如所有引導CSS文件到web/css/bootstrap.css。還有一個難題是,使用javascripts標籤引用資產不再有效,因爲這些標籤必須由Assetic Bundle掃描才能正常工作。你必須以老式的方式來做到這一點,例如,通過{{ asset('css/bootstrap.js') }}

With Bootstrap我遇到了困難,使字形工作,因爲cssrewrite過濾器不像以前那樣工作。我在那時選擇了Fontawesome,但包括你自己的Glyphicons副本也可以工作。