Отвечу сам себе.
Помог
вот этот пример на гитхабе.
Это расширение работает немного иначе, чем обычный твиг. Здесь шаблон не нужно наследовать, он наследуется сам, когда ты в конфиге указываешь дефолтный лэйаут и переходишь по нужному урл.
spoilerнапример, 'layout' => 'main.twig'
Наследование происходит при срабатывании экшена и вызова из него соответствующего вида
spoilerнапример, срабатывание экшена indexAction в HomeController при переходе по ссылке site.com/home совершает неявное наследование вида home/index.twig от layouts/main.twig.
Если объяснять проще, то код дочернего шаблона будет выглядеть вот так:
// оператор extends не нужен
{% block content %}
Дочерний шаблон
{% endblock %}
А код лейаута вот так:
<!doctype html>
<html lang="en">
<head></head>
<body>
// как будто выводишь обычные данные, без {% block %} {% endblock %}
{{ content | raw }}
</body>
</html>
Вот как-то так. Может кому-то поможет.