====== Модуль "Фотогалерея": данные доступные в шаблонах ====== ===== Главная страница ([раздел]_main.tpl) ===== Этот тип шаблона является главным для раздела, он содержит данные о первых двух уровнях категорий (если они используются), а так же список альбомов. ==== $categories ==== Массив записей с данными о категориях первых двух уровней. Каждая запись представляет собой массив с ключами: === name === Название категории. === link === Ссылка на страницу категории. === description === Описание категории. === idimg === Числовой идентификатор прикрепленного изображения. === citems === Количество материалов в категории. === level === Уровень в дереве категорий, 0 - находится в корне. === urlname === Строковой идентификатор URL категории. === subcategories === Массив записей с данными о подкатегориях. Записи аналогичны записям в [[#$categories|$categories]]. ==== $albums ==== Массив записей с данными об альбомах. В зависимости от настроек содержит либо все альбомы, либо только альбомы вне категорий. Каждая запись представляет собой массив с ключами: === name === Название альбома. === description === Описание альбома, форматированный или простой текст в зависимости от значения опции "Использовать визуальный редактор". === link === Ссылка на страницу альбома. === category === Полное название категории, которой принадлежит альбом. === date === Дата создания в формате UTC. === urlname === Строковой идентификатор URL. === vote === Текущая оценка материала. === cvote === Количество голосов. === comments === Количество комментариев. === images === Массив записей с данными о фото в альбоме, может использоваться в качестве параметра функции [[:smarty:smarty6#image|image]]. Каждая запись представляет собой массив с ключами: * **id** - числовой идентификатор. * **path** - путь к файлу изображения на сервере. * **caption** - описание. * **width** - ширина изображения. * **height** - высота изображения. === idimg === Числовой идентификатор главного фото в альбоме. === tags === Если включено использование тегов, то содержит массив записей с данными о тегах. Каждая запись представляет собой массив с ключами: * **name** - название тега. * **link** - ссылка на результаты поиска по тегу. === дополнительное поле === Значение дополнительного поля. === fields === Массив записей с данными о дополнительных полях. Каждая запись представляет собой массив с ключами: * **field** - Строковой идентификатор поля. * **name** - Описание поля. * **value** - Значение. ==== $albums_pager ==== Объект [[:integration:objects#Многостраничная навигация (нумератор страниц)|постраничной навигации]]. ==== Пример шаблона ====

{$section_name}

{if $categories} {/if} {if $albums} {section name=i loop=$albums}

{$albums[i].name}

{image id=$albums[i].idimg width=80 height=80 style="float:left"} {$albums[i].description}

{/section} {object obj=$albums_pager} {/if}
===== Cтраница категории ([раздел]_category.tpl) ===== Если используются категории, то этот тип шаблона содержит данные о выбранной категории, о следующих двух уровнях категорий, а так же список альбомов, которые принадлежат выбранной категории. ==== $category ==== Массив с данными о текущей категории, состоит из ключей: === name === Название категории. === description === Описание категории. === idimg === Числовой идентификатор прикрепленного изображения. === citems === Количество материалов в категории. === level === Уровень в дереве категорий, 0 - находится в корне. === urlname === Строковой идентификатор URL категории. ==== $categories ==== Массив записей с данными о категориях двух уровней начиная с текущего. Формат данных аналогичен [[#categories|описанному выше]]. ==== $albums ==== Массив записей с данными о материалах в текущей категории. Формат данных аналогичен [[#albums|описанному выше]]. ==== $albums_pager ==== Объект [[:integration:objects#Многостраничная навигация (нумератор страниц)|постраничной навигации]]. ==== Пример шаблона ====

{$category.name}

{if $categories} {/if} {if $albums} {section name=i loop=$albums}

{$albums[i].name}

{image id=$albums[i].idimg width=80 height=80 style="float:left"} {$albums[i].description}

{/section} {object obj=$albums_pager} {/if}
===== Страница альбома ([раздел]_album.tpl) ===== Этот тип шаблона содержит все данные выбранном альбоме, включая список фото которые ему принадлежат. ==== $category ==== Массив с данными о текущей категории. Формат данных аналогичен [[#Cтраница категории ([раздел]_category.tpl)|описанному выше]]. ==== $album ==== Массив с данными выбранного альбома. Формат данных аналогичен формату записей в массиве [[#albums|описанном выше]]. ==== $images ==== Массив с данными фото в альбоме. Формат данных аналогичен формату записей в массиве [[#images|описанном выше]]. ==== $images_pager ==== Объект [[:integration:objects#Многостраничная навигация (нумератор страниц)|постраничной навигации]] для списка фото в альбоме, если в опциях указано ограниченное количество фото для вывода на странице. ==== $prevalbum ==== Ссылка на предыдущий альбом в категории, пусто, если текущий альбом первый. ==== $nextalbum ==== Ссылка на следующий альбом в категории, пусто, если текущий альбом последний. ==== $isvote ==== Логическое значение. Если включено оценивание, то принимает значение истина, если пользователь уже оценил альбом. ==== $comments ==== Массив записей всех комментариев к альбому. Каждая запись представляет собой массив с ключами: * **date** - дата и время размещения комментария в формате UTC. * **name** - имя автора комментария. * **bbcode** - текст комментария в формате BBCode. * **message** - текст комментария в формате HTML. ==== $form ==== Массив данных для начальных значений формы комментирования. В случае неверного ввода каптчи является копией $_REQUEST, поэтому важно защищать значения с помощью [[:smarty:smarty3#escape|escape]]. Если на сайте используется раздел на базе модуля [[:modules:users|"Пользователи"]], то значение массива с ключом **name** будет замещаться на имя пользователя, в случае если он авторизирован на сайте. * **name** - имя автора комментария. * **message** - текст комментария. ==== $captcha ==== Содержит значение, которое может быть использовано в скрытом поле captcha, если форму отправки необходимо сделать без ввода контрольных цифр на рисунке. ==== Пример шаблона ==== {lightbox_init}

{$album.name}

{$album.description}

{section name=i loop=$images} {* Обход массива изображений. *} {image data=$images[i] width=150 height=150 lightbox=true} {/section}
{if $options.usevote} {* Если включено оценивание. *}
Оценка: {$item.vote}, Голосов: {$item.cvote}, {if !$isvote} {* Если еще не оценивал. *} {submit caption="Оценить"} {hidden name="action" value="addvote"} {else} Вы проголосовали. {/if}
{/if} {if $options.usecomments} {* Если включено комментирование. *} {if $comments} {* Вывод комментариев. *}

Комментарии:

{/if} {section name=i loop=$comments}

{$comments[i].date|date_format:"%d.%m.%Y %T"} {$comments[i].name}:

{$comments[i].message}

{/section} {if $errors.captcha}

Неверно введены контрольные цифры, попробуйте еще раз.

{/if} {literal} {* Скрипт валидации формы комментирования. *} {/literal}

Оставить комментарий:

{* Форма комментирования. *}

Ваше имя:

{editbox name="name" width="40%" text=$form.name}

{textarea name="message" rows=5 text=$form.message}

Введите цифры на картинке:

{editbox name="captcha" width="50"}

{captcha}

{submit caption="Добавить"}

{hidden name="action" value="addcomment"}
{/if}