Quando tento usar a {% javascript %}
tag TWIG para vincular ao meu .js
arquivo, ela me retorna com a seguinte exceção:
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".
Minha index.html.twig
aparência é:
{% javascripts 'CompetitiongameBundle/Resources/views/public/js/*'%}
<script type="text/javascript" src="{{ asset_url }}" ></script>
{% endjavascripts %}
Hello {{ name }}!
<a href='{{ nexturl }}' >Login</a>
Meu pacote já está presente no arquivo de configuração quando eu faço:
php app/console config:dump-reference assetic
Como posso consertar isso ?
Respostas:
Sim, eu tentei e resolveu o problema para mim. Para alguém (como eu) que não sabe inicialmente como adicionar, basta:
app/config/config.yml
assetic:
bundles: []
bundles: []
// digite o nome do seu pacotepor exemplo, se o seu pacote é
Acme\DemoBundle
, faça o seguinteSem aspas
AcmeDemoBundle
. É isso aí. (Symfony2)fonte
Se quiser que o assetic inclua seus pacotes por padrão, você pode comentar (com #) a linha
bundles: []
ex:
assetic: debug: "%kernel.debug%" use_controller: false #bundles: [ ] #java: /usr/bin/java
fonte
Às vezes, você precisa tomar decisões em tempo real, então você pode usar o DependencyInjection .
Por exemplo, para carregar e gerenciar a configuração :
<?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); /* ... */ } }
Você pode usar uma lógica mais complexa para manipular a configuração (em limites razoáveis)
fonte
Você precisa adicionar seu pacote ao pacote: [] linha de assetic: seção no arquivo app / config / config.yml (symfony 2.1)
fonte