Когда я пытаюсь использовать тег TWIG {% javascript %}
для ссылки на мой файл .js
, он возвращает меня со следующим исключением:
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".
Мой index.html.twig
выглядит так:
{% javascripts 'CompetitiongameBundle/Resources/views/public/js/*'%}
<script type="text/javascript" src="{{ asset_url }}" ></script>
{% endjavascripts %}
Hello {{ name }}!
<a href='{{ nexturl }}' >Login</a>
Мой пакет уже присутствует в файле конфигурации, когда я делаю:
php app/console config:dump-reference assetic
Как я могу это исправить?
Да, я попробовал, и он решил проблему для меня. Для кого-то (например, для меня), который сначала не знает, как добавить:
app/config/config.yml
assetic:
bundles: []
bundles: []
//введите имя вашего пакета например, если ваш пакет Acme\DemoBundle
, выполните следующие
assetic:
bundles: [ AcmeDemoBundle ]
Нет кавычек вокруг AcmeDemoBundle
. Это. (Symfony2)
Если вы хотите, чтобы assetic включал ваши пакеты по умолчанию, вы можете прокомментировать (С#) строки: []
Пример:
assetic:
debug: "%kernel.debug%"
use_controller: false
#bundles: [ ]
#java: /usr/bin/java
Иногда вам нужно принимать решения "на лету", тогда вы можете использовать DependencyInjection.
Например, загружает и управляет конфигурацией:
<?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);
/* ... */
}
}
Вы можете использовать более сложную логику для управления конфигурацией (в разумных пределах)
Вам нужно добавить свой пакет для связывания: [] row of assetic: section в файле app/config/config.yml(symfony 2.1)