Шаблон отвечает за вывод полной новости.
Хотя этот шаблон - один из самых важных шаблонов (наравне с шаблоном main.tpl и news.short.tpl),
для его работы требуется всего несколько переменных.
Самое главное, что необходимо учитывать при разработке собственного шаблона news.full.tpl:
большая часть функционала реализована при помощи плагинов, а это значит, что в данном шаблоне
вы должны учитывать создаваемые плагинами переменные.
Доступные блоки/переменные
Блоки:
[edit-news] ... [/edit-news] - если у вас есть права на редактирование этой новости, то содержимое этого блока "оборачивается" в ссылку на редактирование новости
[del-news] ... [/del-news] - если у вас есть права на редактирование этой новости, то содержимое этого блока "оборачивается" в ссылку на удаление новости
[icon] ... [/icon] - содержимое блока отображается в случае, если для текущей новости есть иконка (иконка из категории-родителя новости)
[update] ... [/update] - содержимое блока выводится в случае, если новость редактировалась
[print-link] ... [/print-link] - содержимое блока "оборачивается" ссылкой на версию для печати для текущей новости
[pagination] ... [/pagination] - содержимое блока выводится в случае наличия блока постраничной навигации внутри новости
[page-first] ... [/page-first] - содержимое блока выводится только на первой странице многостраничной новости
[page-next] ... [/page-next] - содержимое блока выводится в многостраничной новости на всех страницах кроме первой
Переменные:
{title} - заголовок новости
{category} - список подсвеченных ссылками категорий, к которым относится новость
{author} - автор новости (подсвечен ссылкой на профиль пользователя, работу профиля обеспечивает плагин uprofile)
{date} - дата добавления новости (формат даты определяется в: настройки => настройки системы => новости => формат времени для новостей)
{icon} - URL к иконке новости (иконке категории родителя); если у категории-родителя нет иконки, то переменная будет пустой
{update} - дата редактирования новости (формат даты определяется в: настройки => настройки системы => новости => формат времени для поля 'обновлено'); если новость не обновлялась, то переменная будет пустой
{short-story} - короткая часть новости (в редактировании новости до тега <!--more-->)
{full-story} - длинная часть новости (в редактировании новости после тега <!--more-->)
{pagination} - блок постраничной навигации внутри новости (в случае, если внутри новости нет разделения на страницы, то переменная будет пустой)
{news-id} - ID новости
{views} - отображается кол-во просмотров новости (количество открытий первой страницы полной новости; заходы поисковых роботов также считаются просмотрами)
Доступные языковые переменные:
{l_updated} - текст "обновлено" (для переменной {update})
{l_print} - текст "распечатать" (для блока [print-link]...[/print-link])
Связь с другими плагинами
Существует множество плагинов, которые могут добавлять собственные переменные для обработки в текущем шаблоне.
Вот некоторые из них (следует учитывать, что переменные выводятся плагинами только в том случае, когда плагины включены):
Плагин comments:
Блок [comheader]...[/comheader] - содержимое блока выводится только в том случае, если в новости есть хотябы один комментарий
Переменная {comnum} - кол-во комментариев к новости
Переменная {plugin_comments} - на её месте выводятся комментарии к новости и форма добавления новых комментариев (если добавление комментариев разрешено на сайте и не запрещено для данной новости)
Плагин complain:
Переменная {plugin_complain} - информационный блок плагина complain ("сообщить о проблеме в новости")
Пример заполнения шаблона
В примере показан минимально набор для полнофункциональной работы (с учётом использования плагина comments):