Как формировать заголовочный блок HTML-страницы
При верстке шаблона обрамления (layout) неизбежно появляется необходимость оформления блока заголовка (HEAD). Информацию в заголовке можно разделить на два типа:
- постоянная информация, которая не изменяется на страницах.
- переменная, которая отличается на разных страницах.
Постоянную можно вписать жестко, а для меняющейся необходимо предусмотреть механизм управления: каждый контроллер должен иметь возможность указать, какие мета-теги отображать для конкретной страницы, какие CSS и JS подключать.
В типовой блок HEAD выглядит следующим образом:
%HEAD{}
Вставка HEAD отрисует уже сформированные мета-теги, файлы подключения стилей (css) js-файлов.
Кроме этого, предусматривается возможность указывать для отдельных страниц свои CSS, скрипты, мета-теги.
Блок HEAD логически состоит из нескольких разнородных блоков. Блоки можно выводить в заголовке одтельно друг от друга. Для этого необходимо во вставке HEAD указать мнемокод соответствующего блока.
// Выведет блоки metas и inline %HEAD{metas, inline} // Выведет все блоки КРОМЕ metas и inline %HEAD{^metas, inline}
Мнемокоды блоков для вывода в HEAD:
- metas - мета теги: title, description, keywords;
- inline - Inline-код, который добавляется через метод head_line();
- inline_js - Inline JS-код. Cюда также входит инициализация TAO_Settings;
- inline_css - Inline CSS-код;
- files_css - подключение CSS ресурсов;
- files_js - подключение JS ресурсов.
Как подключать JS и CSS
Во-первых, если какой-то отдельный шаблон требует для своей работы подключения каких-то особенных JS и CSS, то следует применить следующие методы:
<?php $this->use_scripts('jquery/treeview.js'); $this->use_styles('treeview.css','forum.css'); // Обратите внимание, что оба данных метода дают возможность указывать неограниченное число параметров. ?>
Т.к. JavaScript желательно подключать после сборки, перед закрывающим тэгом