Lorsque j'essaie d'utiliser la {% javascript %}
balise TWIG pour créer un lien vers mon .js
fichier, elle me renvoie à l'exception suivante:
An exception has been thrown during the compilation of a template ("You must add CompetitiongameBundle to the assetic.bundle config to use the {% javascripts %} tag in CompetitiongameBundle:game:index.html.twig.") in "CompetitiongameBundle:game:index.html.twig".
Mon index.html.twig
ressemble à:
{% javascripts 'CompetitiongameBundle/Resources/views/public/js/*'%}
<script type="text/javascript" src="{{ asset_url }}" ></script>
{% endjavascripts %}
Hello {{ name }}!
<a href='{{ nexturl }}' >Login</a>
Mon Bundle est déjà présent dans le fichier de configuration lorsque je fais:
php app/console config:dump-reference assetic
Comment puis-je réparer cela ?
Réponses:
Oui, j'ai essayé et cela a résolu le problème pour moi. Pour quelqu'un (comme moi) qui ne sait pas au départ comment ajouter alors juste:
app/config/config.yml
assetic:
bundles: []
bundles: []
// tapez le nom de votre bundlepar exemple, si votre bundle l'est
Acme\DemoBundle
, procédez comme suitPas de citations autour
AcmeDemoBundle
. C'est ça. (Symfony2)la source
Si vous souhaitez qu'assetic inclue vos bundles par défaut, vous pouvez commenter (avec #) la ligne
bundles: []
ex:
assetic: debug: "%kernel.debug%" use_controller: false #bundles: [ ] #java: /usr/bin/java
la source
Parfois, vous devez prendre des décisions à la volée, vous pouvez alors utiliser DependencyInjection .
Par exemple pour charger et gérer la configuration :
<?php namespace You\ExampeBundle\DependencyInjection; use Symfony\Component\DependencyInjection\ContainerBuilder; /* ... */ class YouExampeExtension extends Extension { /* ... */ public function load(array $configs, ContainerBuilder $container) { /* ... */ $aAsseticBundle = $container->getParameter('assetic.bundles'); $aAsseticBundle[] = 'YouExampeBundle'; $aAsseticBundle[] = 'AnotheBundle'; $container->setParameter('assetic.bundles', $aAsseticBundle); /* ... */ } }
Vous pouvez utiliser une logique plus complexe pour manipuler la configuration (dans des limites raisonnables)
la source
Vous devez ajouter votre bundle au bundle: [] row of assetic: section dans le fichier app / config / config.yml (symfony 2.1)
la source