Создание тем оформления для Neutrino atomic edition
Оглавление
Общая информация
Тема оформления Neutrino Atomic Edition - это каталог, содержащий в себе набор необходимых файлов шаблонов, и дополнительных опциональных файлов, относящихся к теме.
Шаблоны темы оформления представляют собой обыкновенные html-файлы с php-включениями, которые подгружаются в ходе выполнения скрипта Neutrino Atomic Edition через include/require. То есть, из шаблона доступны для использования все глобальные переменные Neutrino Atomic Edition, а переменные, объявленные/измененные в самом шаблоне, доступны для использования в шаблонах, подгружаемых после.
Необходимые файла шаблонов описаны ниже. Шаблоны Neutrino Atomic Edition можно располагать в любом доступном для HTTP-запросов и php-include включений из скрипта Neutrino Atomic Edition месте, подключая их в конфигурационном файле data/settings.ini.php, который по синтаксису представляет собой обыкновенный ini-файл. Чтобы подключить созданную вами тему, нужно в параметре tpl_patch указать адрес к каталогу шаблона относительно файла index.php в корневом каталоге скрипта. Значение по умолчанию:
tpl_patch=tpl/default ;
Структура темы Neutrino Atomic Edition
Тема оформления состоит из двух структурных шаблонов, и набора шаблонов содержимого. Структурные шаблоны подключаются в каждой странице, генерируемой Neutrino Atomic Edition, а шаблоны страницы подгружаются на тех страницах, с которыми они логически связаны. Унифицированного механизма привязки шаблонов к новым типам контента нет, и при создании плагинов или новых типов материала, следует подгружать их явно при необходимости.
Набор необходимых файлов шалбонов представлен следующим списком:
head.html
Первый структурный шаблон, который описывает (x)html-разметку страниц от начала документа до динамически изменяемого содержимого.
В шаблоне обычно используются переменные $title, $headers, $head, $right, $left, массивы $_s и $_l.
За образец можно взять файл head.html для темы default из svn.
шаблоны содержимого
post.html
Описывает отображение постов блога. Подгружается для каждого поста. В этом шаблоне рекомендованы к использованию массив $post(содержит информацию о выводимой записи), массив $_l(локализация Neutrino Atomic Edition, описывается в файле lang/ru.php, или указанном в директиве lang_file конфигурационного файла data/settings.ini.php, а также дополняется в плагинах и шаблонах во время выполнения), и перменные $ptup и $ptdw.
Шаблон post.html подгружается после шаблона head.html.
За образец можно взять файл post.html для темы default из svn.
post_form.html
В данном шаблоне описывается отображение формы создания/изменения записей/страниц. Структура шаблона сложна и при создании темы лучше брать за основу оригинальный файл post_form.html из темы default для последней версии Neutrino Atomic Edition.
Например, файл post_form.html из svn.
В данном шаблоне используются массивы $post(информация о записи/странице при редактировании существующей), массив $_v(объединение массивов $_GET, и $_POST, а также дополнительные служебные данные Neutrino Atomic Edition), массив $_l(локализация Neutrino Atomic Edition), а также переменные $pftup и $ptfdw.
Шаблон post_form.html подгружается после шаблона head.html.
comment.html
В данном шаблоне описывается отображение комментариев к записям в блоге. Комментарии к записям в блоге используются на странице записи, то есть, шаблон comment.htmlpost.html, но только в том случае, если к записи есть комментарии.
подгружается после шаблона
В шаблоне обычно используются массив $cmnt(информация о комментарии к этой записи), массив $_l(локализация), и массив $post(информация о прокомменитрованой записи), а также переменные $cmtup и $cmtdw.
За образец можно взять файл comment.html для темы default из svn.
comment_a.html
В данном шаблоне описывается отображение комментариев от администратора сайта. В дальнейшем, шаблон будет исключен из спецификации, и его функциональность будет выполнять шаблон comment.html с ограниченным количеством выводимых данных.
За образец можно взять файл comment_a.html для темы default из svn.
comment_form.html
В данном шаблоне описывается форма добавления комментариев к записям в блоге. Этот шаблон подгружается на странице записи в блоге, после группы включений шаблона comment.html, если есть комментарии, или после post.html, если комментариев нет.
В шаблоне обычно используются массивы $_l и $_s, а также переменные $cmtfup и $cmtfdw.За образец можно взять файл comment_form.html для темы default из svn.
login_form.html
Шаблон формы входа администратора в систему.
За образец можно взять файл login_form.html для темы default из svn
footer.html
Нижний структурный шаблон. Закрывает теги, не закрытые в шаблоне head.html. Обычно в этом шаблоне используются переменные $footer, $closure, $left, $right(последние две - если не были выведены в шаблоне head.html).
Список переменных, используемых для вывода содержимого в темах:
$post[]
Массив $post содержит информацию о текущей записи в блоге. Используется на странице списка записей блога, а также на страницах отдельных записей. Содержит следующие основные элементы:
int $post['id']
Уникальный числовой идентификатор записи. Представляет собой результат выполнения php-функции time() при создании записи.
str $post['title']
Строковое значение - заголовок записи. Для статических страниц - имя файла в каталоге data/pages, в который будет сохранен текст.
str $post['text']
Строковое значение - основной текст записи/страницы.
str $post['tags']
Строковое значение - список категорий для записи в блоге, уже отформатированный в html.
int $post['c_count']
Числовое значение - количество комментариев к записи в блоге.
str $post['date']
Строковое значение - дата публикации поста, результат выполнения функции date($_s['dateformat'], $post['id']). Значение $_s['dateformat'] объявляется в файле data/settings.php, или через веб-интерфейс с помощью расширения settings.
str $post['admenu']
Текстовая строка - администраторское меню для выполения операций над записью(удаление, редактирование, и т.п.). Для обычных пользователей эта переменнаяне объявлена.
$cmnt[]
Массив $cmnt содержит информацию о текущем комментарии(в списке комментариев обновляется циклически, и после вывода всех комментариев содержит информацию о последнем комментарии в списке). Содержит следующие основные элементы:
str $cmnt['nick']
Строковое значение - имя пользователя, оставившего комментарий. Если при комментировании, пользователь не заполняет это поле, то переменная принимает значение $_l['anonymous'](настраивается в файле lang/ru.php, или указанном в директиве lang_file конфигурационного файла data/settings.ini.php).
bool $cmnt['priv']
Логическое значение - доступен ли комментарий для публичного просмотра. Если 1, комментарий отображается обычным пользователям, если 0 - нет. Администратору отображаются все комментарии.
str $cmnt['ip']
Строковое значение - ip-адрес пользователя, оставившего комментарий. Обычно отображается администратору.
str $cmnt['date']
Строковое значение - дата публикации комментария. Представляет собой результат выполнения функции date($_s['comment_dateformat'], $post['id']). Значение $_s['comment_dateformat'] объявляется в файле data/settings.php, или через веб-интерфейс с помощью расширения settings.
str $cmnt['web']
Строковое значение - URL-адрес веб-сайта пользователя, оставившего комментарий.
str $cmnt['text']
Строковое значение - полный текст комментария
str $cmnt['del']
Строковое значение - администраторское меню для выполнения операций над комментариями. По умолчанию содержит html-код ссылки для удаления комментария. При отображении страницы обычному пользователю, переменная не объявлена.$_l[]
Массив $_l содержит строковые значения локализации CMS и плагинов. Описывается в файле lang/ru.php, или указанном в директиве lang_file конфигурационного файла data/settings.ini.php, а также дополняется в плагинах и шаблонах во время выполнения. Для получения полного списка значений рекомендуется вставить код <?php print_r($_l); ?> в конце файла footer.html и скопировать вывод для дальнейшего использования в целях разработки, а код этот из файла убрать.
$_s[]
Массив $_s содержит настройки CMS Neutrino Atomic Edition, и некоторых расширений. Изначально объявляется в файле data/settings.php. В качестве веб-интерфейса для редактирования настроек выступает расширение settings.
$title
Строковое значение. Заголовок страницы.
- Переменные, необходимые для корректной работы плагинов(расширений):
$headers
Строковое значение. Переменная $headers предназначена для мета-тегов, скриптов и стилей, и выводится внутри тега <head>
$closure
Строковое значение. Предназначено для некоторых javascript-включений. Выводится перед закрывающим элементом тега body( </body> ).
$left
Строковое значение. Содержит html-разметку левого сайдбара.
$right
Строковое значение. Содержит html-разметку правого сайдбара.
$head
Строковое значение. Содержит html-разметку верхнего блока веб-страницы. Предпочтительно выводить эту переменную в шаблоне head.html.
$footer
Строковое значение. Содержит html-разметку нижнего блока веб-страницы. Предпочтительно выводить эту переменную в шаблоне footer.html.
$ptup
Строковое значение. Информационный блок сверху от записи в блоге. В списке записей блога отображается для каждой записи. Рекомендуется выводить в шаблоне post.html раньше вывода переменной $post['text'].
$ptdw
Строковое значение. Информационный блок снизу от записи в блоге. В списке записей блога отображается для каждой записи. Рекомендуется выводить в шаблоне post.html позже вывода переменной $post['text'].
$ptfup
Строковое значение. Информационный блок сверху от формы создания/редактирования записи/страницы. Рекомендуется выводить в шаблоне post_form.html до поля ввода основного текста.
$ptfdw
Строковое значение. Информационный блок снизу от формы создания/редактирования записи/страницы. Рекомендуется выводить в шаблоне post_form.html после поля ввода основного текста.
$cmtfup
Строковое значение. Информационный блок сверху от формы добавления комментария к записи. Рекомендуется выводить в шаблоне comment_form.html до поля ввода основного текста комментария.
$cmtfdw
Строковое значение. Информационный блок снизу от формы добавления комментария к записи. Рекомендуется выводить в шаблоне comment_form.html после поля ввода основного текста комментария.
$cmtup
Строковое значение. Информационный блок сверху от комментария к записи. В списке комментариев отображается для каждого комментария. Рекомендуется выводить в шаблоне comment.html до вывода основного текста комментария.
$cmtdw
Строковое значение. Информационный блок сверху от комментария к записи. В списке комментариев отображается для каждого комментария. Рекомендуется выводить в шаблоне comment.html до вывода основного текста комментария.




