Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui Symfony2 CSS写入过滤器';s的图像路径太远了_Jquery Ui_Symfony_Assetic - Fatal编程技术网

Jquery ui Symfony2 CSS写入过滤器';s的图像路径太远了

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 .

我试图让Symfony2与jqueryui一起工作。我已经让它的JavaScript部分工作得很好,但是我在让图像工作时遇到了麻烦

我在Assetic文档中读到的一件事是,
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 %}