Symfony 2资产图像

9

我希望在我的视图中添加资产图片。但是如果我加载页面,图片就无法加载。

配置:

framework:
    esi:             ~
    translator:      { fallback: "%locale%" }
    secret:          "%secret%"
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: "%kernel.debug%"
    form:            true
    csrf_protection: true
    validation:      { enable_annotations: true }
    templating:      { engines: ['twig'], assets_version: "1.0.0" }
    default_locale:  "%locale%"
    trust_proxy_headers: false # Whether or not the Request object should trust proxy headers (X_FORWARDED_FOR/HTTP_CLIENT_IP)
    session:         ~

# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"

# Assetic Configuration
assetic:
    debug:          "%kernel.debug%"
    read_from:      %kernel.root_dir%/../public_html
    write_to:       %kernel.root_dir%/../public_html
    use_controller: false
    #bundles:        [ ]
    #java: /usr/bin/java
    filters:
        cssrewrite: ~
        #closure:
        #    jar: "%kernel.root_dir%/Resources/java/compiler.jar"
        #yui_css:
        #    jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"

index.html.twig

<img src="{{ asset('images/menu-park.gif') }}">

为了安装资源,我运行以下命令:
php app/console assets:install public_html --env=dev --symlink

Did I forget something?


1
你在img的src属性中得到的URL是什么? - AdrienBrault
<img src="/images/menu-park.gif?1.0.0"> - Mitchel Verschoof
1个回答

22
assets:install public_html 命令将 src/Acme/DemoBundle/Resources/public/ 目录复制到 public_html/bundles/acmedemo/ 目录中。因此,您需要引用该URL。
例如:假设您有一个名为 MvParkBundle 的 bundle,并且在 Resources/public/images 目录中创建了一个名为 menu-park.gif 的图像,则应在 Twig 中使用此代码,假设前端控制器也在 public_html 中:
<img src="{{ asset('bundles/mvpark/images/menu-park.gif') }}">

如果你运行assets:install public_html命令,一切都应该没问题。


你也可以使用--symlink,但是你需要在Twig模板中更改你的路径为bundles/{bundlename}/images/menu-park.gif - Wouter J
2
问题是:app/console assets:install public_html 可以工作,但 app/console assets:install public_html --symlink 无法工作... 但为什么呢 :S - Mitchel Verschoof
首先,我并不是。其次,这已经超过一年了。无论如何,谢谢。 - Mitchel Verschoof

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接