С PHP, используя Twig, я могу сделать что-то вроде этого:
layout.twig
<html>
<body>
{% block content %}{% endblock %}
</body>
</html>
форма.ветка
{% extends "layout.twig" %}
{% block content %}
<div class="form">{% block form %}{% endblock %}</div>
{% endblock %}
логин.twig
{% extends form %}
{% block form %}
<form>
<input type="text" name="email" />
<input type="submit">
</form>
{% endblock %}
Таким образом, у меня есть макет для всех страниц, макет для страниц с формами и страница входа.
Но с Slim я могу указать только основной макет, который является родительским для всех шаблонов:
layout.slim
html
body ==yield
и специальные макеты для каждой страницы моего сайта:
login.slim
div.form
form
input type="text" name="email"
input type="submit"
Есть ли простой способ реализовать Twig-подобное наследование с более чем одним уровнем в Slim?