Список изменений в шаблонах между версиями 0.9.3 по 0.9.4

0. В начале общим пунктом стоит отметить, что NG постепенно переходит на новый шаблонизатор. Конечной целью является полный переход на TWIG и отказ от старого шаблонизатора.
В данной версии NG во всех основных TWIG шаблонах оставлена поддержка старых переменных с целью обеспечения максимальной обратной совместимости, но в последующих релизах эта совместимость не будет поддерживаться.
Таким образом, в данной версии в ряде шаблонов можно писать, например, как {tpl_url}, так и {{ tpl_url }}
Конструкция [TWIG] ... [/TWIG] используется там, где требуется использовать новые TWIG конструкции, но шаблон строится старым шаблонезатором.
Подробнее в документации в разделе "Шаблонизатор TWIG".
1. main.tpl - практически полностью переведен на twig, хоть и вывод осуществляется через [TWIG] ... [/TWIG].
Пример изменений (подробности смотрите в документации).
Было {htmlvars} стало {{ htmlvars }}
Было {tpl_url} Стало {{ tpl_url }}
Было {admin_url}/includes/js/functions.js Стало {{ scriptLibrary }}/functions.js
Было {admin_url}/includes/js/ajax.js Стало {{ scriptLibrary }}/ajax.js
Было {titles} Стало {{ titles }}
Было {personal_menu} Стало {{ personal_menu }}
Было {search_form} Стало {{ search_form }}
Было {categories} Стало {{ categories }}
Было {mainblock} Стало {{ mainblock }}
Было [ifhandler:news:main]Блок только на главной[/ifhandler] Стало {% if isHandler('news:main') %}Блок только на главной{% endif %}
2. В ваш шаблон нужно добавить файл news.table.tpl скопируйте его из дефолтного шаблона или создайте сами.
Содержимое файла по умолчанию (подробности смотрите в документации).
{% for entry in data %}
{{ entry }}
{% else %}
{{ lang['msgi_no_news'] }}
{% endfor %}
{{ pagination }}
3. В файл registration.tpl добавлена поддержка доп. полей для их работы вам необходимо перевести файл на шаблонизатор Twig.
В примере показан минимальный набор (подробности смотрите в документации).
<form name="registration" action="{{ form_action }}" method="post">
	<input type="hidden" name="type" value="doregister" />

	{% for entry in entries %}
		{{ entry.title }} ({{ entry.descr }}): {{ entry.input }}
	{% endfor %}

	{% if flags.hasCaptcha %}<img src="{{ admin_url }}/captcha.php"> <input type="text" name="vcode" />{% endif %}

	<input type="submit" class="button" value="{l_register}" />
</form>
4. В файл usermenu.tpl добавлена поддержка Twig.
В примере показан минимальный набор (подробности смотрите в документации).
{% if (global.flags.isLogged) %}
	[if-have-perm]
	<a href="{{ admin_url }}" target="_blank">{{ lang['adminpanel'] }}</a>
	<a href="{{ addnews_link }}">{{ lang['addnews'] }}</a>
	[/if-have-perm]
	<a href="{{ profile_link }}">{{ lang['myprofile'] }}</a>
	<a href="{{ logout_link }}">{{ lang['logout'] }}</a>
{% else %}
	<script language="javascript">
		var set_login = 0;
		var set_pass  = 0;
	</script>
	<form name="login" method="post" action="{{ form_action }}" id="login">
		<input type="hidden" name="redirect" value="{{ redirect }}" />
		{{ lang['name'] }}: <input type="text" name="username">
		{{ lang['password'] }}: <input type="password" name="password">
		<a href="{{ lost_link }}" >{{ lang['lostpassword'] }}</a>
		<a href="{{ lang['registration'] }}" >{{ lang['registration'] }}</a>
		<input type="submit" value="{{ lang['login'] }}">
	</form>
{% endif %}
5. Добавлен новый файл news.categories.tpl для удобной генерации меню категорий (подробности смотрите в документации).