Я работаю над интеграцией Assetic в приложение, которое я создаю. Приложение следует шаблону MVC, но не использует никаких фреймворков. Веточка используется для шаблонов.
Я прочитал документацию и просмотрел несколько полезных сообщений в блоге .
Приложение структурировано так:
- приложение
- twig_templates
- 1020 * JS *
- 1022 * CSS *
- public_html
Шаблоны веточек обрабатываются и затем возвращаются приложением, так что это довольно просто. Папки 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 файл?