如何使用assetic将图像复制到Web文件夹

时间:2013-12-13 18:58:28

标签: php symfony assetic

我无法相信我无法谷歌这个......

所以,我有一个symfony2应用程序,我使用jQuery UI安装了Composer。这意味着我有这样的项目结构:

/app/
/src/
/vendor/components/jqueryui/
/web/

我有资产设置将js / css文件从vendor文件夹复制到web。这很好。配置:

assetic:
    assets:
        javascripts:
            inputs:
                - %kernel.root_dir%/../vendor/components/jquery/jquery.js
                - %kernel.root_dir%/../vendor/components/jqueryui/ui/jquery-ui.js
                - %kernel.root_dir%/../vendor/components/jqueryui/ui/i18n/jquery.ui.datepicker-cs.js
        stylesheets:
            inputs:
                - %kernel.root_dir%/../vendor/components/jqueryui/themes/redmond/jquery-ui.css
            filters: cssrewrite

资产后:我有转储

/web/js
/web/css

cssrewrite将images / image.png重写为../images/image.png。我想没关系,假设带有所述图像的/ web / images目录。

现在的问题是:如何将图像从/ vendor / components / jqueryui / themes / redmond / images复制到/ web / images?

或者还有另一种最佳做法吗?对不起,如果这是明显的事情,我是一个.NET人,只是尝试PHP。

1 个答案:

答案 0 :(得分:1)

我的答案可能并非现货,因为我没有尝试使用供应商文件,但这对我有用:

app/console assets:install

它将您的所有公共资源复制到您的网络目录。

This answer by user1814739帮助我理解了这一点,并可能为您提供更多信息。

还要考虑这个advice from the Symfony Blog

  

虽然开发人员通常在没有任何选项的情况下执行命令,但大多数情况下使用--symlink选项执行命令会更好。这使您的资产成为符号链接,而不是实际复制其文件。这意味着Web资产内容的任何更改都将立即生效。