Актив, имиджевые активы и кеширование - PullRequest
0 голосов
/ 09 февраля 2012

Я работаю над интеграцией Assetic в приложение, которое я создаю. Приложение следует шаблону MVC, но не использует никаких фреймворков. Веточка используется для шаблонов.

Я прочитал документацию и просмотрел несколько полезных сообщений в блоге .

Приложение структурировано так:

  • приложение
    • twig_templates
    • 1020 * JS *
    • 1022 * CSS *
  • public_html
    • JS
    • CSS
    • изображения

Шаблоны веточек обрабатываются и затем возвращаются приложением, так что это довольно просто. Папки js и css под папкой application будут содержать необработанные файлы javascript и css.

Мой план состоит в том, чтобы объединенные и уменьшенные файлы js и css сохранялись в папках js и css в папке public_html.

Поскольку я не планирую оптимизировать какие-либо изображения, используя сборку, они будут помещены в папку images непосредственно под public_html.

Теперь вопрос:

  • Я понимаю, что, используя сборку из ветки, комбинированные и минимизированные активы можно экспортировать в мои каталоги public_html:

    {% stylesheets '/path/to/sass/main.sass' filter='sass,?yui_css' output='css/all.css' %}
        <link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
    {% endstylesheets %}
    

    В этом случае файл css/all.css регенерируется при каждом отображении шаблона?

  • Чтобы сделать приложение переносимым (оно может быть размещено с использованием виртуального хоста или, возможно, даже в папке) и обеспечить работу объектов на сайте с перенаправленными URL-адресами, такими как http://site.com/controller/action, ассистент обеспечивает в любом случае переписывание "URL-адреса для изображений в абсолютных (то есть images/a.jpg в http://mysite.com/images/a.jpg)?

  • Работает ли сборка при использовании вложенных шаблонов?

    parent.twig:

    <!DOCTYPE html>
    <html>
        <head>
            {% block head %}
                <link rel="stylesheet" href="mainstyle.css" />
                <title>{% block title %}{% endblock %} - My Webpage</title>
            {% endblock %}
        </head>
        <body>
        </body>
    </html>
    

    child.twig:

    {% extends "parent.twig" %}
    
    {% block title %}Index{% endblock %}
    {% block head %}
        {{ parent() }}
        <link rel="stylesheet" href="childstyle.css" />
    {% endblock %}
    

    В таком случае, как я могу сообщить сборщику, что она должна объединить childstyle.css и mainstyle.css и использовать его как 1 файл?

1 Ответ

0 голосов
/ 31 марта 2012

так как для этого ответа невозможно объединить унаследованные таблицы стилей от родительского с дочерним Объединение ресурсов активов через унаследованные шаблоны

...