Сборочный пакет Symfony2 Выпуск

config.yml:

assetic:
debug:          "%kernel.debug%"use_controller: false
bundles:        [ FrontendBundle ]
#java: /usr/bin/java
ruby: /usr/bin/ruby
sass: /usr/bin/sass
read_from:      %kernel.root_dir%/../../web/
write_to:       %kernel.root_dir%/../../web/
filters:
cssrewrite: ~
scss:
style: 'expanded'
compass: true
apply_to: "\.scss$"compass:
bin: /usr/bin/compass
images_dir: %kernel.root_dir%/../../src/FrontendBundle/Resources/assets/images
generated_images_path: %kernel.root_dir%/../../src/FrontendBundle/Resources/public/images/sprites
http_generated_images_path: /images/sprites

Шаблон:

<?php foreach ($view['assetic']->stylesheets(
array('@FrontendBundle/Resources/assets/scss/homepage.scss'),
array('compass'),
array('output' => 'css/homepage.css')
) as $url):
$styles[] = '<link rel="stylesheet" href="'. $view->escape($url) .' " />' ?>
<?php endforeach; ?>

Среда Prod работает просто отлично. css / homepage.css генерируется, и есть ссылка на него в результате html.

Проблемы со средой разработки. Если я пытаюсь сгенерировать css динамически, я получаю сообщение об ошибке «Невозможно сгенерировать URL для именованного маршрута …» с опцией «bundles», заданной в config_dev.yml, и сборочных маршрутов в roting_dev.yml. Это единственные решения, которые я нашел для этой проблемы, ни одно из них не сработало.

Если я пытаюсь сделать prod-like, с установкой «use_controller» в false, в результате html я получаю ссылку на «homepage_homepage_1.css» вместо «homepage.css», которая не генерируется.

0

Решение

Вы пробовали новый Компонент актива за Symfony 2,7?

приложение / Config / config.yml

framework:
assets:
version: 'v5'
version_format: '%%s?version=%%s'
base_path: ~
base_urls: ['http://cdn.example.com', 'https://secure.example.com']
packages:
scss:
base_path: bundles/mybundle/scss
compass:
base_path: bundles/mybundle/compass

Затем вы должны вспомнить правильную таблицу стилей с чем-то вроде этого:

{{ asset('myscss.css', 'scss') }}
{# /bundles/mybundle/scss/myscss.css #}

{{ asset('mycompass.css', 'compass') }}
{# /bundles/mybundle/compass/mycompass.css #}

Я предлагаю вам использовать Twig для ваших просмотров, чтобы вы могли фильтровать свои переменные через заявление if (лайк assetic).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]