10

I'm a beginner at Symfony2, and I have some problems about putting resource like css, js, images... I just read this document how to use Assetic But I can't figure out what is the best way to put my assets. That article show me that I should put js files inside my Bundle, but put css files in /web/public/css (out side the Bundle). That's complicated and inconvenience. Can somebody show me ? Thanks

mattexx
  • 6,456
  • 3
  • 36
  • 47
Vien Le Mai
  • 115
  • 1
  • 4
  • See excellent answer here: http://stackoverflow.com/questions/9500573/path-of-assets-in-css-files-in-symfony2. This has worked well for us. – MBro Sep 06 '13 at 16:36

4 Answers4

12

You can put them into the *Bundle/Resources/public/, then run

$ php app/console assets:install --symlink

This will create a symbolic link with the bundle name in your web/bundles/ linking to the existing bundles' public folders. If you want a simpler path in your html (or mainly css) code you can create a symbolic link directly in your web folder.

2

If you use the Accepted Answer

app/console assets:install web --symlink

When you include your files (css,js,image) you need to change the PATH like that in TWIG :

{{ asset('bundles/myBundle/css/main.css') }}

And in PHP :

<?php echo $view['assets']->getUrl('bundles/myBundle/img/logo.png') ?>
CDO
  • 131
  • 1
  • 8
0

We put them in web/assets/[css|img|js|fonts|less|xml|...]

mattexx
  • 6,456
  • 3
  • 36
  • 47
0

If your css/js file is used only within your bundle, placing them in bundle resources is OK. Otherwise placing onto the public folder if it's used by many bundles

Tuan nguyen
  • 560
  • 6
  • 19