2015-04-11 3 views
2

В настоящее время я работаю над веб-приложением Symfony 2, но у меня проблема с Assetic (я думаю), когда я импортирую шрифт из шрифта Google ...Symfony 2 & Assetic - импортировать шрифт из шрифта google api

Когда я работаю с dev env в локальной сети, я вижу запрос, отправленный в Google, чтобы получить шрифт, но когда я публикую свою работу в Интернете с помощью prod env, запрос не отправляется, и, конечно, шрифт не загружается должным образом ...

Вот моя assetic конфигурация (config.yml):

assetic: 
debug:   "%kernel.debug%" 
use_controller: false 
bundles:  ['MyBundle'] 
filters: 
    cssrewrite: ~ 
assets: 
    bootstrap_js: 
     inputs: 
      - %kernel.root_dir%/../vendor/twitter/bootstrap/dist/js/bootstrap.js 
    bootstrap_css: 
     inputs: 
      - %kernel.root_dir%/../vendor/twitter/bootstrap/dist/css/bootstrap.css 
      - %kernel.root_dir%/../vendor/twitter/bootstrap/dist/css/bootstrap-theme.css 
     filters: [cssrewrite] 
    bootstrap_glyphicons_ttf: 
     inputs: 
      - %kernel.root_dir%/../vendor/twitter/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf 
     output: "fonts/glyphicons-halflings-regular.ttf" 
    bootstrap_glyphicons_eot: 
     inputs: 
      - %kernel.root_dir%/../vendor/twitter/bootstrap/dist/fonts/glyphicons-halflings-regular.eot 
     output: "fonts/glyphicons-halflings-regular.eot" 
    bootstrap_glyphicons_svg: 
     inputs: 
      - %kernel.root_dir%/../vendor/twitter/bootstrap/dist/fonts/glyphicons-halflings-regular.svg 
     output: "fonts/glyphicons-halflings-regular.svg" 
    bootstrap_glyphicons_woff: 
     inputs: 
      - %kernel.root_dir%/../vendor/twitter/bootstrap/dist/fonts/glyphicons-halflings-regular.woff 
     output: "fonts/glyphicons-halflings-regular.woff" 
    jquery: 
     inputs: 
      - %kernel.root_dir%/../vendor/components/jquery/jquery.js 
      - %kernel.root_dir%/../web/js/jquery.mmenu.min.js 
      - %kernel.root_dir%/../web/js/jquery-ui.min.js 
    public_js: 
     inputs: 
      - %kernel.root_dir%/../web/js/momentjs.min.js 
      - %kernel.root_dir%/../web/js/fullcalendar2.min.js 
      - %kernel.root_dir%/../web/js/owl-carousel/owl.carousel.min.js 
      - %kernel.root_dir%/../web/js/menu.js 
    style_css: 
     inputs: 
      - %kernel.root_dir%/../web/css/style.css 
      - %kernel.root_dir%/../web/css/jquery.mmenu.css 
      - %kernel.root_dir%/../web/css/jquery.mmenu.positioning.css 
      - %kernel.root_dir%/../web/js/owl-carousel/owl.carousel.css 
      - %kernel.root_dir%/../web/js/owl-carousel/owl.theme.css 
    homepage_css: 
     inputs: 
      - %kernel.root_dir%/../web/css/homepage.css 
    shop_css: 
     inputs: 
      - %kernel.root_dir%/../web/css/shop.css 
    championship_css: 
     inputs: 
      - %kernel.root_dir%/../web/css/championship.css 
    admin_css: 
     inputs: 
      - %kernel.root_dir%/../web/css/admin.css 
    admin_js: 
     inputs: 
      - %kernel.root_dir%/../web/js/admin.js 
    paypal_js: 
     inputs: 
      - %kernel.root_dir%/../web/js/paypal-button.min.js 

для того, чтобы работать без необходимости устанавливать АКТИВЫ все время, у меня в config_dev.yml:

assetic: 
    use_controller: true 

В style.css, импортировать шрифт с: @import url(http://fonts.googleapis.com/css?family=Exo:300,400,500,700,400italic,500italic,700italic,300italic);

И в заголовке моих шаблонов TWIG (например, магазин страница):

{% stylesheets '@bootstrap_css' '@style_css' '@shop_css'%} 
<link rel="stylesheet" type="text/css" media="screen" href="{{ asset_url }}"/> 
{% endstylesheets %} 

Когда я положил свою работу в Интернете, я бег php app/console assetic:dump и все работает хорошо, без предупреждения, без ошибок, мои изменения не будут загружены ... Но шрифт не загружен! Когда я проверяю исходный код, файл актива находится здесь, и он содержит строку @import, в которой я нуждаюсь ... Но шрифт не загружен, а на вкладке «Сети» в инструментах Chrome dev отсутствует запрос, отправленный в Google для извлечения шрифт.

Если я не найду решение, я поместим шрифт в свои файлы, но я бы предпочел использовать метод @import! Я не вижу, что происходит, я застрял, пожалуйста, помогите, THX!

+0

У меня такая же проблема здесь. Я знаю, что это не поможет, но действительно, если у кого-то есть ключ или решение, чтобы исправить эту проблему, пожалуйста. – Vaseltior

ответ

1

Я просто включил link тег в HTML голове, но предпочел бы @import метода

+0

finnaly сделал то же самое, не нашел, где эта проблема возникла из ... – klu00

+0

Такая же проблема + исправить здесь. Хотелось бы узнать причину. – DiscoInfiltrator

+0

Я думаю, что Дэниелс отвечает на вопрос о суммах. – DerpyNerd

3

правило @import должно предшествовать все другие правила (за исключением правил @charset, если таковой имеется).

Поскольку Assetic объединяет все файлы CSS в блоке в один файл, вашему правилу @import предшествуют все правила в @bootstrap_css.

Просто переместите правила @import в другой файл и поместите его в первую позицию в блоке stylesheets.

Смежные вопросы