Задать вопрос
@andreyqin

Проблема с наследованием блоков в twig

Решил сделать содержимое тега в виде шаблонов, так как на каждой странице какие-то файлы подключаются, какие-то нет. Запихнул все возможное содержимое в отдельный файл примерно такого содержания:
{% block meta %}<meta http-equiv="Content-Type" content="text/html; charset=utf-8">{% endblock %}
{% block style %}<link rel="stylesheet" type="text/css" href="css/style.css">{% endblock %}
{% block jquery %}<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>{% endblock %}
{% block script %}<script src="js/script.js"></script>{% endblock %}

В нужный мне шаблон, в тэг <head>, делаю необходимые мне вставки так: {% block meta %}{% endblock %} и т.д., но блоки не подключаются. Пробовал добавлять в начало файла с блоками путь к наследуемому файлу, например {% extends "../index.html" %}, но безрезультатно.
Структура сайта примерно такая:
/css
/js
/templates
   /nodes
      -head.html
      ...
   -index.html
   -contacts.html
   -about.html
/images
/includes
-index.php
-contacts.php
-about.php


PHP-файлы цепляют соответствующие им шаблоны. В head.html лежат те самые блоки для тэга head, которые должны подключатся к html-файлам в папке выше. Подскажите, почему блоки не наследуются шаблонами?
  • Вопрос задан
  • 3975 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
IlyasMasirov
@IlyasMasirov
Наследование происходит с помощью parents(), т.е. наследуете шаблон при помощи extends и потом в теле блока наследуете родительские методы: {% block meta %} parents() {% endblock %}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы