Jquery ui Symfony2 CSS写入过滤器';s的图像路径太远了
我试图让Symfony2与jqueryui一起工作。我已经让它的JavaScript部分工作得很好,但是我在让图像工作时遇到了麻烦 我在Assetic文档中读到的一件事是,Jquery ui Symfony2 CSS写入过滤器';s的图像路径太远了,jquery-ui,symfony,assetic,Jquery Ui,Symfony,Assetic,我试图让Symfony2与jqueryui一起工作。我已经让它的JavaScript部分工作得很好,但是我在让图像工作时遇到了麻烦 我在Assetic文档中读到的一件事是,cssrewite过滤器可以获取CSS文件中的图像路径并进行更新,以便路径指向正确的位置。这看起来正是我所需要的,所以我启用了cssrewite。以下是cssrewite如何更改我的路径: // original images/ui-icons_222222_256x240.png // using cssrewrite .
cssrewite
过滤器可以获取CSS文件中的图像路径并进行更新,以便路径指向正确的位置。这看起来正是我所需要的,所以我启用了cssrewite
。以下是cssrewite
如何更改我的路径:
// original
images/ui-icons_222222_256x240.png
// using cssrewrite
../../../app/Resources/public/css/themes/base/images/ui-icons_222222_256x240.png
第一条路不好。cssrewite
路径至少指向文件系统中的正确路径,但是相对于我的webroot,cssrewite
路径太远了。显然,我的app
目录不是公共的
如何让cssrewite
过滤器更改我的路径,使其实际工作
这是我的样式表。(是的,我知道我单独包含所有这些CSS文件的方式是愚蠢的,但我现在并不担心这一点。)
{%样式表
“../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.resizeable.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”
%}
{%endstylesheets%}
有一些带有CSSREEWRITE过滤器。据我所知,使用@BundleName
表示法无法正常工作,解决方法似乎是使用bundles/bundle\u 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 %}
{%stylesheets-filter='cssrewite'
“bundles//css/*”
'bundles//css/themes/base/jquery.ui.accordion.css'
'bundles//css/themes/base/jquery.ui.all.css'
'bundles//css/themes/base/jquery.ui.autocomplete.css'
'bundles//css/themes/base/jquery.ui.base.css'
'bundles//css/themes/base/jquery.ui.button.css'
'bundles//css/themes/base/jquery.ui.resizeable.css'
'bundles//css/themes/base/jquery.ui.selective.css'
'bundles//css/themes/base/jquery.ui.slider.css'
'bundles//css/themes/base/jquery.ui.tabs.css'
'bundles//css/themes/base/jquery.ui.theme.css'
%}
{%endstylesheets%}
其中
显然是您正在处理的捆绑包的名称
EDIT:记住发出
php应用程序/控制台资产:安装--symlink web
命令,以象征性地将资产链接到web
目录中 请参见我问题的答案,它有一个工作示例:
{% 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 %}