2012-11-10 15 views
8

Chcę dodać zdjęcia zasobów w moich widokach. Ale jeśli załadować stronę obrazy nie ładuje ..Symfony 2 Obrazy zasobów

config:

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') }}"> 

Aby zainstalować aktywa I run:

php app/console assets:install public_html --env=dev --symlink 

Czy coś zapomniałem?

+1

Jaki jest adres URL w atrybucie src użytkownika img? – AdrienBrault

+0

Odpowiedz

21

Komenda assets:install public_html kopiuje katalog src/Acme/DemoBundle/Resources/public/ do katalogu . Musisz więc odwołać się do tego adresu URL.

Na przykład: Masz pakiet o nazwie MvParkBundle i utworzeniu obrazu menu-park.gif wewnątrz katalogu Resources/public/images, należy użyć tego kodu wewnątrz gałązka, zakładając, że kontroler frontowy jest wewnątrz public_html też:

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

Po uruchomieniu polecenia assets:install public_html wszystko powinno być w porządku.

+0

Ale dlaczego --symlink nie działa? powinno być tak samo? –

+0

Możesz również użyć --symlink, ale musisz zmienić ścieżkę w szablonie Twig na 'bundles/{bundlename}/images/menu-park.gif'. –

+2

Problem polega na tym, że 'app/console assets: install public_html' działa, ale' app/console assets: install public_html --symlink' nie działa., Ale dlaczego: S –