我试图让 Symfony2 与 jQuery UI 一起工作。我已经让它的 JavaScript 部分工作得很好,但我无法让图像工作。
我在 Assetic 文档中读到的一件事是cssrewrite
过滤器可以获取 CSS 文件中的图像路径并更新它们,以便路径指向正确的位置。这看起来正是我需要的,所以我启用了cssrewrite
. 以下是我cssrewrite
改变路径的方式:
// original
images/ui-icons_222222_256x240.png
// using cssrewrite
../../../app/Resources/public/css/themes/base/images/ui-icons_222222_256x240.png
第一条路不好走。该cssrewrite
路径至少指向文件系统中的正确路径,但相对于我的 webroot,该cssrewrite
路径已关闭。显然我的app
目录不是公开的。
如何让cssrewrite
过滤器将路径更改为实际可行的路径?
这是我的样式表包含。(是的,我知道我单独包含所有这些 CSS 文件的方式很愚蠢,但我现在并不担心。)
{% stylesheets
'../app/Resources/public/css/*'
'../app/Resources/public/css/themes/base/jquery.ui.accordion.css'
'../app/Resources/public/css/themes/base/jquery.ui.all.css'
'../app/Resources/public/css/themes/base/jquery.ui.autocomplete.css'
'../app/Resources/public/css/themes/base/jquery.ui.base.css'
'../app/Resources/public/css/themes/base/jquery.ui.button.css'
'../app/Resources/public/css/themes/base/jquery.ui.core.css'
'../app/Resources/public/css/themes/base/jquery.ui.datepicker.css'
'../app/Resources/public/css/themes/base/jquery.ui.dialog.css'
'../app/Resources/public/css/themes/base/jquery.ui.progressbar.css'
'../app/Resources/public/css/themes/base/jquery.ui.resizable.css'
'../app/Resources/public/css/themes/base/jquery.ui.selectable.css'
'../app/Resources/public/css/themes/base/jquery.ui.slider.css'
'../app/Resources/public/css/themes/base/jquery.ui.tabs.css'
'../app/Resources/public/css/themes/base/jquery.ui.theme.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}