Загрузки и баннеры на тегах
Как заменить вид каталога и страницы релиза в «Загрузках» файлами темы, сделать шаблон под рубрику и поставить баннер или целое место одним тегом.
Шаблон под рубрику
Новости, «Загрузки», форум (раздел) и магазин (категория) называют рубрику страницы движку: адрес рубрики латиницей, цифрами и дефисом, до 40 знаков. Тогда файл <вид>.<адрес-рубрики>.tpl.html (например, views/news/show.tech.tpl.html или views/forum/section.api.tpl.html) берётся раньше общего <вид>.tpl.html; для остальных рубрик остаётся общий.
Описание рубрики страницы (без разметки) модуль тоже отдаёт в общие данные страницы; тег {category.description} подключает ядро. Обрезка текста в тегах записи: limit=N знаков, words=N слов, wordsafe=1 — по границе слова.
«Загрузки» на тегах
Файлы views/downloads/index.tpl.html (каталог и рубрика) и views/downloads/show.tpl.html (страница релиза) темы заменяют PHP-виды модуля. Скачивание идёт обычными адресами движка: счётчик, ограничение доступа и пароли работают как раньше.
| Вид | Тег | Что выводит |
|---|---|---|
| каталог | [each:cards] | релизы: {item.title} {item.url} {item.description} {item.version} {item.date} {item.cover} {item.category} {item.category_url} {item.hits} {item.first} |
| каталог | [each:rubrics] | рубрики: {item.title} {item.url} {item.count} {item.active} |
| каталог | {category.title} {category.url} {category_description} {pager} {t.empty} | рубрика страницы (от рамки), её описание, листание, слово «пусто» |
| релиз | {item.title} {item.description} {item.version} {item.hits} {item.changelog} {item.requirements} {date} {cover} {cover_large} | сам релиз |
| релиз | {category.title} {category.url} {files.count} [if:allow_download] | рубрика, число файлов, «есть что скачать» |
| релиз | [each:files] | файлы: {item.name} {item.url} (адрес скачивания) {item.platform} {item.arch} {item.size} {item.ext} {item.hits} {item.primary} {item.external} (хост внешней ссылки) |
| релиз | [each:sums] | контрольные суммы: {item.name} {item.checksum} — чтобы проверить скачанное |
Пример страницы релиза:
<h1>{item.title}</h1><p>v{item.version} · {date} · скачано {item.hits}</p>
[if:allow_download]
[each:files]<p><a href="{item.url}">{item.name}</a> {item.platform} {item.arch} {item.size} ↓{item.hits}</p>[/each]
[/if]
<h2>Что нового</h2><p>{item.changelog}</p>
<h2>Требования</h2><p>{item.requirements}</p>
[each:sums]<code>{item.name}: {item.checksum}</code>[/each]Баннеры на тегах
В любом файле тегов баннер ставится по номеру или целым местом. Правила показа те же, что у обычных баннеров: срок, расписание, устройство, страницы, роли, страны, «только первая страница».
| Тег | Что выводит |
|---|---|
{banner:5} | баннер с номером 5 (номер — в списке баннеров панели) |
{banner_place:sidebar} | все баннеры места целиком |
Места: topbar, header, before_content, sidebar, after_content, footer, between_feed (между записями ленты), between_comments (между комментариями).
Места between_feed и between_comments рисуют сами виды новостей и комментариев: баннер идёт после каждой третьей записи ленты и после каждого пятого комментария. У баннера в панели отмечаются роли (guest — гость), страны (RU, UA — только в них; -BY — везде, кроме) и «только на первой странице раздела». Страница, где есть такой баннер, не уходит в общий кэш: ответ зависит от зрителя.