2015-07-28 4 views
1

Я только начал работать в рамки symfony. Я создал стартовое приложение с symfony и хотел установить с ним bootstrap 3.3.5. Бит Я понял, что он работает не так, как ожидалось. В качестве следующего шага я установил Leafo Less.php. Чтобы добавить поддержку для бутстрапа> 3.2 Я установил oyejorge/less.php с помощью обертки для компилятора leafo lessc.Не могу понять, как работают активы symfony в сочетании с lessphp

Я зарегистрировал его в config.yml со следующими строками:

конфигурация Assetic

assetic: 
    debug:   "%kernel.debug%" 
    use_controller: false 
    bundles:  [ ] 
    #java: /usr/bin/java 
    filters: 
     lessphp: 
      file: %kernel.root_dir%/../src/HomeBundle/Assets/Filter/lessc.php 
      apply_to: "\.less$" 
      # Formatter options: compressed, lessjs, classic 
      formatter: "compressed" 
      preserve_comments: false 
     cssrewrite: ~ 

до сих пор команды работают. Следующим шагом было, согласно объяснениям в http://isometriks.com/using-less-with-symfony2, сообщая мне, что мне нужно ссылаться на таблицу стилей. Поэтому я добавил в шаблон содержания:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="UTF-8" /> 
     <title>{% block title %}Welcome!{% endblock %}</title> 
     {% block stylesheets %}{% endblock %} 
     <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" /> 
     {% stylesheets '@HomeBundle/Resources/less/bootstrap.less' %} 
      <link rel="stylesheet" href="{{ asset_url }}"> 
     {% endstylesheets %} 
    </head> 
    <body> 
     {% block body %}{% endblock %} 
     {% block javascripts %}{% endblock %} 
    </body> 
</html> 

Everytime, что я называю контроллер я получаю сообщение:

Исключение было брошено во время рендеринга шаблона ("Не удалось сгенерировать URL для указанного маршрута «_assetic_5bb3373_0», поскольку такой маршрут не существует. ») в base.twig по строке 8.

Не знаю, что я делаю неправильно. Где моя ошибка? Любая помощь доступна.

+0

php app/console cache: clear? –

+0

Хорошо, спасибо за это. Ошибка исчезла, но никакой css-вывод не был создан. –

ответ

1

При использовании Assetic вам необходимо использовать команду app/console assetic: dump для генерации файлов css/less/js. Это также скопирует их в веб-папку, чтобы сделать их доступными.

После того, как вы вызвали эту команду, проверьте папку web/css, чтобы узнать, есть ли в ней меньше скомпилированных файлов.

Если вы не работаете в среде Dev (используя app_dev.php в ваших URL-адресов), то вам необходимо указать производственную среду при выполнении команды «приложение/консоль assetic: свалка --env = прод»

+0

благодарит за помощь. –

+0

Одним из решений было очистить кеш, а затем сбросить содержимое, как это было предложено с помощью assetic. –