問題我有一個CSS文件,其中包含一些路徑(用于圖像,字體等。url(..))。我的路徑結構是這樣的:...+-src/| +-MyCompany/| +-MyBundle/| +-Resources/| +-assets/| +-css/| +-stylesheets...+-web/| +-images/| +-images......我想在樣式表中引用我的圖像。第一個解決方案我將CSS文件中的所有路徑更改為絕對路徑。這不是解決方案,因為應用程序也應該(并且必須?。┮苍谧幽夸浿泄ぷ鳌5诙鉀Q方案與一起使用Assetic filter="cssrewrite"。所以我將我的CSS文件中的所有路徑都更改為url("../../../../../../web/images/myimage.png")代表從我的資源目錄到/web/images目錄的實際路徑。這不起作用,因為cssrewrite會生成以下代碼:url("../../Resources/assets/")這顯然是錯誤的道路。assetic:dump創建此路徑后,這仍然是錯誤的:url("../../../web/images/myimage.png")Assetic的樹枝代碼:{% stylesheets '@MyCompanyMyBundle/Resources/assets/css/*.css' filter="cssrewrite"%}<link rel="stylesheet" href="{{ asset_url }}" />{% endstylesheets %}當前(第三)解決方案由于所有CSS文件都以結尾/web/css/stylexyz.css,因此我將CSS文件中的所有路徑更改為相對路徑:url("../images/myimage.png")這種(錯誤的)解決方案可以正常工作,但在dev環境中除外:CSS路徑為/app_dev.php/css/stylexyz.css,因此由此產生的圖像路徑為/app_dev.php/images/myimage.png,從而導致NotFoundHttpException。有更好的可行解決方案嗎?
3 回答

精慕HU
TA貢獻1845條經驗 獲得超8個贊
目前,cssrewrite過濾器與@bundle表示法不兼容。因此,您有兩種選擇:
參考在網絡文件夾中的CSS文件(后:console assets:install --symlink web)
{% stylesheets '/bundles/myCompany/css/*." filter="cssrewrite" %}
使用cssembed過濾器像這樣將圖像嵌入CSS。
{% stylesheets '@MyCompanyMyBundle/Resources/assets/css/*.css' filter="cssembed" %}
- 3 回答
- 0 關注
- 907 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消