Списки на тегах: відбір, архів, мітки, рубрики та числа сайту
Як вивести в будь-якому файлі тегів останні записи й коментарі, архів за місяцями, хмару міток, дерево рубрик і числа сайту, та як відібрати записи.
Ці теги працюють у будь-якому файлі тегів: у головній рамці, на сторінці, у стрічці. Відбір записано в самій назві списку парами «ключ:значення» через двокрапку; кілька значень — через «_». Ключі захисту, пошта й закрите до списків не потрапляють; записи відбираються тим самим запитом, що й стрічка (права, пароль, мова, строк дії).
Які бувають списки
| Список | Що дає |
|---|---|
[each:news_list category=films,3 limit=5 sort=views] … [/each] | записи; звична форма [each:news_list:cat:3_5:limit:5:sort:views] дає той самий результат |
[each:comments_list limit=5 category=3] | останні коментарі до записів; у того, хто увійшов, {item.name} — його ім'я |
[each:news_archive:limit:12] | місяці архіву |
[each:news_tags:limit:30] | хмара міток |
[each:news_categories] | рубрики деревом: спершу батьківська, потім вкладені |
Як відібрати записи
| Ключ | Що робить |
|---|---|
category | рубрики номером або адресою: 3, films, 3,5, 3-7, !news (крім; вкладені входять) |
not_category | крім цих рубрик |
author | номери або логіни через кому |
tag | мітки номерами або адресами |
id, not_id | тільки ці записи / крім цих; not_id=this — крім поточного |
days | за скільки днів |
sort | new, old, title, views, rating, rand, updated |
start, limit | з якого запису й скільки (до 30) |
home, fixed, cover, poll, password | 1, yes — тільки такі; 0, no — тільки без |
field:назва>2000 | за власним полем: =значення, !=значення, >, <; числа порівнюються як числа; до чотирьох умов |
custom + is | поле заповнене / дорівнює значенню |
cache | запам'ятати результат для гостей на стільки секунд (до 3600); той, хто увійшов, завжди бачить свіже |
lang | мова записів |
Невідома назва ігнорується, а редактор тем її підсвічує. У comments_list відбір коротший: limit, category, not_category, author, days, post (номери записів). У news_archive і news_tags — limit.
У news_categories: category (які рубрики), not_category (крім), subcat — yes із вкладеними, no тільки названі, only тільки вкладені; depth — скільки рівнів; limit.
Що доступно всередині списку
| Список | Теги елемента |
|---|---|
| записи | {item.id} {item.title} {item.url} {item.excerpt} {item.date} {item.cover} {item.cover_large} {item.category} {item.category_url} {item.by} (автор, якщо сайт показує авторів) {item.views} {item.rating} {item.rating_count} {item.comments} {item.pinned} {item.locked} (запис під паролем: видно лише назву) {item.first} {index} |
| коментарі | {item.name} {item.text} (до 160 знаків, без розмітки) {item.url} {item.date} {item.title} (назва запису) {item.avatar} |
| архів | {item.title} {item.url} {item.count} |
| мітки | {item.title} {item.url} {item.count} {item.weight} (1–5, для розміру шрифту) |
| рубрики | {item.title} {item.url} {item.count} {item.active} (поточна рубрика) {item.level} (0 — верхній рівень) {item.parent} {item.id} та умова [if:item.has_children] |
Картинки з тексту запису за номером: {item.image1}…{item.image5} і {item.images_count}; текст розбирається, лише якщо шаблон їх просить.
Числа сайту
{stat.news} {stat.news_day} {stat.news_week} {stat.news_month}; те саме для comments і users, наприклад {stat.comments_week} та {stat.users_month}.
Приклад: рубрики з числом записів і популярне за місяць
<nav><ul>
[each:news_categories]<li class="l{item.level}"><a href="{item.url}">{item.title}</a> <small>{item.count}</small></li>[/each]
</ul></nav>
<h3>Популярне</h3>
[each:news_list:days:30:sort:views:limit:5]<p><a href="{item.url}">{item.title}</a> · {item.views}</p>[/each]
<p>Записів: {stat.news}, за тиждень: {stat.news_week}</p>