gpt4 book ai didi

php - 产品中的 Symfony2 转储 Assets 具有不同的代码

转载 作者:行者123 更新时间:2023-11-28 06:12:29 25 4
gpt4 key购买 nike

是时候在我的应用程序中从开发切换到生产了,我正在尝试修复 css 文件等中所有损坏的链接。现在我被困在一个部分..

所以我有一个名为 optimized.less 的文件。哪个有这个:

#srchFld {background: url(../img/search.png) no-repeat right center;border-radius: 0;padding: 4px;margin: 0;line-height: 16px;}

当执行 php app/console assets:install 时。一切正常,文件生成。

之后,执行 php app/console assetic:dump --env=prod --no-debug。为产品生成 css 文件。但是在文件中它生成了这个:

#srchFld {background: url(../../bundles/mpshop/img/search.png) no-repeat right center;border-radius: 0;padding: 4px;margin: 0;line-height: 16px;}

现在我知道一个事实,生成的链接是错误的。真正的问题是,它从其他地方生成链接 url。

例如:

如果我从我的公共(public) CSS 文件中删除 url:

#srchFld {background: url() no-repeat right center;border-radius: 0;padding: 4px;margin: 0;line-height: 16px;}

当我转储时,它仍然生成与以前完全相同的 url... 为什么?我手动删除了所有缓存等。使用 phpstorm find in path 选项没有其他文件使用相同的图像 url...

这是怎么回事?

最佳答案

我认为这是由于您在模板中组装 Assets 的方式所致。要使 assetic 能够在 css 文件中正确构建 url,您需要使用 cssrewrite 过滤器,如 symfony documentation 中所述。

例子:

{% stylesheets
'bundles/mybundle/css/main.css'
'bundles/mybundle/css/another.css'
filter='cssrewrite'%}
<link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}

关于php - 产品中的 Symfony2 转储 Assets 具有不同的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com