Шаблон news.full.tpl
--------------------
Шаблон отвечает за вывод полной новости.
Хотя этот шаблон - один из самых важных шаблонов (наравне с шаблоном main.tpl и news.short.tpl), для его работы требуется всего несколько переменных.
Самое главное, что необходимо учитывать при разработке собственного шаблона news.full.tpl: б<u>о</u>льшая часть функционала реализована при помощи плагинов, а это значит, что в данном шаблоне вы должны учитывать создаваемые плагинами переменные.
Начиная с версии [SVN 1098] у данного шаблона появляется набор собственных TWIG переменных.
Доступные переменные TWIG
-------------------------
news - массив с информацией по данной новости
id - ID новости
title - заголовок новости
title|truncateHTML(X,'...') - заголовок новости с лимитом символов (там где X указать желаемое число)
embed - массив выгружает список изображений добавленных через тег &lt;img> к новости (если будет выставлен extractEmbeddedItems-1 в файле <a href="variables.ini.html">variables.ini</a>)
images - вывод изображения (первое изображение находится в элементе [0])
imgCount - скрывает содержимое (если не было найдено не одного тега &lt;img>)
author - массив с информацией об авторе новости
id - ID автора
name - имя автора
url - ссылка на профиль автора (если активен плагин uprofile)
categories - массив с информацией о категории(ях) в которой находится новость
count - кол-во категорий в которых находится новость
text - HTML текстовое представление списка категорий новости, через запятую
masterText- HTML представление ссылки на основную категорию новости
list - массив со списком категорий новости (главная категория находится в элементе [0])
id - ID категории
alt - альт. имя категории
name - имя категории
info - информация о категории
icon - массив с информацией об иконке категории
url - URL иконки
isExtended - true если иконка была "приложена" к категории, false если указан только URL иконки. Информация ниже доступна только при значении isExtended -- true
width - ширина иконки
height - высота иконки
hasPreview - true если у иконки есть уменьшенная копия (превью)
purl- URL превью категории
pwidth - ширина превью
pheight - высота превью
url - URL категории
text - HTML представление ссылки на категорию
url - массив со ссылками на новость
full - ссылка на полную новость
print - ссылка на версию для печати
edit - ссылка на страницу редактирования новости
delete - ссылка на страницу удаления новости
short - короткая новость
short|truncateHTML(X,'...') - короткая новость с лимитом символов (там где X указать желаемое число)
short|striptags - короткая новость с удаленными изображениями из текста
full - полная новость
full|truncateHTML(X,'...') - полная новость с лимитом символов (там где X указать желаемое число)
full|striptags - полная новость с удаленными изображениями из текста
date - дата создания новости
dateStamp - дата создания новости в формате unixtime для использования в фильтре |date
update - дата редактирования новости
updateStamp - дата редактирования новости в формате unixtime для использования в фильтре |date
personalMore - текст собственного разделителя короткой/полной новости
views - кол-во просмотров новости
pagination - HTML представление постраничной навигации в новости
flags - массив с флагами новости:
isUpdated - true если новость была отредактирована
isFullMode - true если генерируется полная страница новости
isPinned - true если новость была прикреплена
hasPagination - true если новость многостраничная
hasPersonalMore - true если в новости используется собственный разделитель короткой/полной новости
p - массив, заполняемый различными плагинами, в настоящий момент заполняется только плагином xfields
Для отладки и проверки доступных переменных вы всегда можете использовать следующий код:
<pre >
NEWS: {{ debugValue(news) }}
Plugins: {{ debugValue(p) }}
</pre>
Пример заполнения шаблона TWIG
------------------------------
В примере показан минимально набор для полнофункциональной работы (с учётом использования плагина comments):
<pre >
&lt;h2>{{ news.categories.masterText }} || {{ news.title }}&lt;/h2>
(c) &lt;a href-"{{ news.author.url }}">{{ news.author.name }}&lt;/a> at {{ news.date }} {% if (news.flags.isUpdated) %}(changed at {{ news.update }}){% endif %}
Viewed: {{ news.views }}&lt;br/>
{{ news.short }} {{ news.full }}&lt;br/>
{{ news.pagination }}
&lt;br/>
{{ plugin_comments }}
</pre>
Пример заполнения массива загруженных изображений добавленных к новости TWIG
----------------------------------------------------------------------------
<pre >
{% if (news.embed.imgCount > 0) %}
&lt;img src-"{{ news.embed.images[0] }}" />
{% else %}
&lt;img src-"{{ tpl_url }}/images/noimage.jpg" />
{% endif %}
</pre>
Доступные блоки/переменные
--------------------------
Блоки:
[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} - короткая часть новости (в редактировании новости <u>до</u> тега &lt;!--more--&gt;)
{full-story} - длинная часть новости (в редактировании новости <u>после</u> тега &lt;!--more--&gt;)
{pagination} - блок постраничной навигации внутри новости (в случае, если внутри новости нет разделения на страницы, то переменная будет пустой)
{news-id} - ID новости
{news_link} - URL полной новости
{views} - отображается кол-во просмотров новости (количество открытий первой страницы полной новости; заходы поисковых роботов также считаются просмотрами)
Доступные языковые переменные:
{l_updated} - текст "обновлено" (для переменной {update})
{l_print} - текст "распечатать" (для блока [print-link]...[/print-link])
Связь с другими плагинами
-------------------------
Существует множество плагинов, которые могут добавлять собственные переменные для обработки в текущем шаблоне.
Вот некоторые из них (следует учитывать, что переменные выводятся плагинами только в том случае, когда плагины включены):
Плагин comments:
Блок [comheader]...[/comheader] - содержимое блока выводится только в том случае, если в новости есть хотябы один комментарий
Переменная {comnum} - кол-во комментариев к новости
Переменная {plugin_comments} - на её месте выводятся комментарии к новости и форма добавления новых комментариев (если добавление комментариев разрешено на сайте и не запрещено для данной новости)
Плагин complain:
Переменная {plugin_complain} - информационный блок плагина complain ("сообщить о проблеме в новости")
Пример заполнения шаблона
-------------------------
В примере показан минимально набор для полнофункциональной работы (с учётом использования плагина comments):
<pre >
&lt;h2>{category} || {title}&lt;/h2>
(c) {author} at {date} [update](changed at {update})[/update]
Viewed: {views} times[comheader], commented: {comnum} times[/comheader]&lt;br/>
{short-story} {full-story}&lt;br/>
{pagination}
&lt;br/>
{plugin_comments}
</pre>
