{% 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
parents()
, т.е. наследуете шаблон при помощи extends и потом в теле блока наследуете родительские методы: {% block meta %} parents() {% endblock %}
base.html
. Пропишите в нём<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml-trasitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>{% block title %}Мой первый сайт{% endblock title %}</title>
{% block meta %}<meta http-equiv="Content-Type" content="text/html; charset=utf-8">{% endblock meta %}
{% block style %}<link rel="stylesheet" type="text/css" href="css/style.css">{% endblock style %}
{% block jquery %}<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>{% endblock jquery %}
{% block script %}<script src="js/script.js"></script>{% endblock script %}
</head>
<body>
{% block body %}
Это тело
{% endblock body %}
</body>
</html>
index.html
мы можете унаследовать блоки из base.html
таким образом:{% extends "base.html" %}
{% block meta %}
{{ parent() }}
{% endblock meta %}
{% block style %}
{{ parent() }}
{% endblock style %}
{% block jquery %}
{{ parent() }}
{% endblock jquery %}
{% block script %}
{{ parent() }}
{# Унаследовав скрипты из базового шаблона base.html, вы также можете прилинковать другие скрипты, которые будут загружаться при рендеринге index.html.
Например:
#}
<script src="js.foo.js"></script>
{% endblock script %}
{% block body %}
{# Сюда вы можете дописать свой код #}
{% endblock body %}
head.html
можете вообще убрать или дописать в него все подключаемые js, css и мета-данные, включив его в базовый шаблон при помощи {% include 'head.html' %}
. Например:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="js/script.js"></script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml-trasitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>{% block title %}Мой первый сайт{% endblock title %}</title>
{% block head %}{% include 'head.html' %}{% endblock head %}
</head>
<body>
{% block body %}
Это тело
{% endblock body %}
</body>
</html>
{% extends "base.html" %}
должно указываться в шаблоне, где определяются блоки (у вас это base.html, у меня head.html), только там должно быть не 'base.html', а 'index.html', т.е. эта запись указывает на шаблон, которые будет наследовать текущий.{% endblock имя_блока %}
, хотя в документации я такого не видел.{% extends "../index.html" %}
, тем самым я указал, что данные шаблон будет наследоваться файлом index.html. Далее, в index.html я просто вставляю эти блоки и так - {% block meta %}{% endblock %}
, и как вы сказали {% block meta %}{{ parent() }}{% endblock %}
, но работать данные блоки не хотят.{% extends "../index.html" %}
{% 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 %}
<!DOCTYPE html>
<html>
<head>
<title>Главная</title>
{% block meta %}{{ parent() }}{% endblock %}
{% block style %}{{ parent() }}{% endblock %}
{% block jquery %}{{ parent() }}{% endblock %}
{% block script %}{{ parent() }}{% endblock %}
</head>
<body>
{# Тут много другого кода #}
</body>
{% extends 'nodes/head.html' %}
<!DOCTYPE html>
<html>
<head>
<title>Главная</title>
{% block meta %}{{ parent() }}{% endblock %}
{% block style %}{{ parent() }}{% endblock %}
{% block jquery %}{{ parent() }}{% endblock %}
{% block script %}{{ parent() }}{% endblock %}
</head>
<body>
{# Тут много другого кода #}
</body>
<body></body>
<!DOCTYPE html>
<html>
<head>
<title></title>
{% 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>
{% block body %} Какой-то код {% endblock %}
<block>
</html>
{% extends 'nodes/head.html' %}
{% block meta %}{{ parent() }}{% endblock %}
{% block style %}{{ parent() }}{% endblock %}
{% block jquery %}{{ parent() }}{% endblock %}
{% block script %}{{ parent() }}{% endblock %}
{% block body %}{{ parent() }}{% endblock %}
<!DOCTYPE html>
<html>
<head>
<title></title>
{% 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>
{% include 'header.html' %}
{% include 'navmenu.html' %}
{% include 'sidebar.html' %}
{% block content %} Ваш контент {% endblock %}
{% include 'footer.html' %}
<block>
</html>
{% extends 'nodes/head.html' %}
{% block meta %}{{ parent() }}{% endblock %}
{% block style %}{{ parent() }}{% endblock %}
{% block jquery %}{{ parent() }}{% endblock %}
{% block script %}<script src="js/foobar.js">
{# скрипт из head.html - <script src="js/script.js"></script> не будет унаследован, т.к. здесь не прописан parent() #}</script>
{% endblock %}
{% block content %}
Новый контент
{% include 'categories.html' %}
{% endblock %}
{% extends ismobileversion ? "mobile.html" : "head.html" %}
{% block meta %}{{ parent() }}{% endblock %}
, но ведь по сути таких записей можно не делать, он и так это унаследует.