Шаблон news.short.tpl
----------------------
Шаблон отвечает за вывод краткой новости.
В большинстве сайтов, использующих NGCMS данный шаблон - один из самых важных шаблонов (наравне с шаблоном main.tpl и news.full.tpl), фактически он определяет внешний вид всех представленных новостей в списке новостей.
Самое главное, что необходимо учитывать при разработке собственного шаблона news.short.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 если в новости используется собственный разделитель короткой/полной новости
canEdit - true если есть доступ к редактировании новости
canDelet - true если есть доступ к удалению новости
p - массив, заполняемый различными плагинами, в настоящий момент заполняется только плагином xfields
Для отладки и проверки доступных переменных вы всегда можете использовать следующий код:
<pre >
NEWS: {{ debugValue(news) }}
Plugins: {{ debugValue(p) }}
</pre>
Пример заполнения шаблона TWIG
------------------------------
В примере показан минимально набор для полнофункциональной работы
<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 }}&lt;br/>
Read news: &lt;a href-"{{ news.url.full }}">here&lt;/a>
</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] - содержимое блока "оборачивается" ссылкой на версию для печати для текущей новости
[full-link] ... [/full-link] - содержимое блока "оборачивается" ссылкой на страницу новости
[fullnews] ... [/fullnews] - содержимое блока выводится в случае, если в новости есть "полная" версия
[nofullnews] ... [/nofullnews] - содержимое блока выводится в случае, если в новости есть только "короткая" версия
Переменные:
{title} - заголовок новости
{category} - список подсвеченных ссылками категорий, к которым относится новость
{author} - автор новости (подсвечен ссылкой на профиль пользователя, работу профиля обеспечивает плагин uprofile)
{date} - дата добавления новости (формат даты определяется в: настройки -> настройки системы -> новости -> формат времени для новостей)
{icon} - URL к иконке новости (иконке категории родителя); если у категории-родителя нет иконки, то переменная будет пустой
{update} - дата редактирования новости  (формат даты определяется в: настройки -> настройки системы -> новости -> формат времени для поля 'обновлено'); если новость не обновлялась, то переменная будет пустой
{short-story} - короткая часть новости (в редактировании новости <u>до</u> тега &lt;!--more--&gt;)
{full-story} - длинная часть новости (в редактировании новости <u>после</u> тега &lt;!--more--&gt;)
{full-link} - ссылка на полную страницу новости)
{news-id} - ID новости
{news_link} - URL полной новости
{views} - отображается кол-во просмотров новости (количество открытий первой страницы полной новости; заходы поисковых роботов также считаются просмотрами)
{alternating} - принимает значение `even` или `odd` в зависимости от того чётная это новость или нечётная
Доступные языковые переменные:
{l_updated} - текст "обновлено" (для переменной {update})
{l_print} - текст "распечатать" (для блока [print-link]...[/print-link])
---------------------------------------------
Связь с другими плагинами (устаревший формат)
---------------------------------------------
Существует множество плагинов, которые могут добавлять собственные переменные для обработки в текущем шаблоне.
Вот некоторые из них (следует учитывать, что переменные выводятся плагинами только в том случае, когда плагины включены):
Плагин comments:
Блок [comheader]...[/comheader] - содержимое блока выводится только в том случае, если в новости есть хотябы один комментарий
Переменная {comnum} - кол-во комментариев к новости
Плагин 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}&lt;br/>
Read news: [full-link]here[/full-link]
</pre>
