Jas*_*ett 7 jquery-ui symfony assetic
我正在尝试让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
Run Code Online (Sandbox Code Playgroud)
第一条道路并不好.该cssrewrite路径至少指向文件系统中的正确路径,但相对于我的webroot,cssrewrite路径是WAY off.显然我的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 %}
Run Code Online (Sandbox Code Playgroud)
And*_*rea 11
CssRewrite过滤器存在一些已知问题.据我所知,使用@BundleName符号无法正常工作,解决方法似乎是使用bundles/bundle_name路径链接CSS文件.
因此,您的代码应该是这样的:
{% stylesheets filter='cssrewrite'
'bundles/<your_bundle_name>/css/*'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.accordion.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.all.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.autocomplete.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.base.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.button.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.resizable.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.selectable.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.slider.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.tabs.css'
'bundles/<your_bundle_name>/css/themes/base/jquery.ui.theme.css'
%}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
哪里<your_bundle_name>是很明显,你正在使用的包的名称.
编辑:记得给出php app/console assets:install --symlink web命令,以便象征性地将您的资产链接到web目录中.
| 归档时间: |
|
| 查看次数: |
8718 次 |
| 最近记录: |