2015-06-19 6 views
1

Я обновляю свой код от symfony2.6 до symfony2.7 и сталкиваюсь с чужими вещами с моими активами.symfony2 assetic path неожиданно ускользнул в symfony2.7

Примеры кодов немного сокращены.

Я использую это, чтобы установить мои файлы css в head.html.twig.

{% stylesheets '@MyAwesomeBundle/Resources/subfolder*.less' %} 
<link rel="stylesheet" href="{{ asset_url }}"/> 
{% endstylesheets %} 

Это в моем файле конфигурации:

# Assetic Configuration 
assetic: 
    debug:   %kernel.debug% 
    bundles: 
     - MyAwesomeBundle 
    node:  %path.nodejs% 
    node_paths: [ %path.node_modules% ] 
    filters: 
     less: 
      apply_to: "\.less$" 

Чем меньше файлы компилируются в порядке. Проблема в том, полученный URL на веб-странице, которая выглядит следующим образом:

<link rel="stylesheet" href="\2F css\2F 36f682f\5F bootstrap\5F 1\2E css"/> 

Когда я добавляю | необработанный фильтр к веточку-файла, путь просто отлично.

{# twig #} 
<link rel="stylesheet" href="{{ asset_url|raw }}"/> 

{# resulting html #} 
<link rel="stylesheet" href="/css/36f682f_bootstrap_1.css"/> 

Любая идея, как исправить это? Мне не нравится проходить через все мои файлы с твигами и добавлять сырые фильтры.

Я просмотрел все зависимости, которые я использую для композитора, они, по-видимому, находятся на последних стабильных версиях (не используются dev-версии).

ответ

0

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

У меня есть блок под названием «голова» в моих базовых шаблонах. Который включал 2 внешних шаблона для файлов css по умолчанию и js (которые всегда должны быть включены). Когда я переместил содержимое этих шаблонов в базовый шаблон, моя проблема исчезла. Проблема была только для этих файлов css + js. В других местах проблемы не было.

Он также может быть связан с вызовом шаблона parent(), который будет сделан для добавления дополнительных CSS или javascript на определенные страницы.

1

symfony2.7 разбора файлов по-разному, в зависимости от расширения файла (или имени).

Переменная «asset_url» защищена (и не сбрасывается) только в .html.twig. В другом случае (для примера: head.js.twig, head_js.twig и т. Д.), он сбежит и, соответственно, потребует "| raw" фильтр.

+0

Спасибо, это было для меня решением. У меня были файлы с именами типа «thing.css.twig», и он был сломан. Переименование на «thing.css.html.twig» устраняет проблему! – spectralsun