Плагин добавляет в приложение «Блог» полноценную систему категорий: трёхуровневая вложенность, SEO-метатеги и изображение для каждой категории, счётчик уникальных просмотров и готовые виджеты для шаблона.
Категории, подкатегории и подподкатегории. Рубрика → Тема → Подтема. Этого вполне хватает для понятной и аккуратной организации материалов.
Одна статья может принадлежать сразу нескольким рубрикам. Без дублирования контента — просто отметьте нужные категории при редактировании поста.
Отдельные поля meta title, meta description и meta keywords на каждую категорию. Поисковик видит структуру сайта и получает точные описания разделов.
Загрузите иконку для любой категории. Используйте её в шаблоне сайдбара, на странице категории или в навигации.
Каждый пост получает счётчик посещений. Учитываются уникальные просмотры по сессии — без накрутки обновлениями страницы. Данные доступны в шаблоне через $post.views.
Топ популярных статей, похожие материалы, самые обсуждаемые посты, навигация по категориям — всё вызывается в шаблоне через Smarty без правки PHP.
Многие темы дизайна для приложения «Блог» поддерживают стандартные хуки — специальные места в шаблоне, куда плагины могут автоматически добавлять свой контент. Если ваша тема использует такие хуки, плагин без каких-либо правок в шаблоне разместит в сайдбаре готовый виджет с деревом категорий блога, а на странице каждого поста — счётчик уникальных просмотров.
Плагин требует версию не ниже PHP 7.4 (рекомендуется PHP 8.2), и работает в интерфейсе Webasyst 2.x.
Если вы хотите больше контроля над внешним видом или функциональностью, данные плагина можно подключить напрямую в шаблоны вашей темы через Smarty. Этот способ открывает дополнительные возможности: вывести топ статей по просмотрам или самые обсуждаемые посты, оформить навигацию по категориям в любом месте страницы, задать собственную разметку — чтобы всё органично вписывалось в дизайн вашего сайта, а не выглядело как вставной элемент.
Каждый пост «знает», к каким категориям он относится — эти данные доступны прямо в шаблоне post.html через переменную $post.categories. Используйте это, чтобы показать рядом с заголовком или в конце статьи ссылки на рубрики, бейджики с названиями категорий или любой другой элемент навигации.
{foreach $post.categories as $category}
<a href="{$category.url}">{$category.name}</a>
{/foreach}
Количество уникальных просмотров доступно через $post.views в любом шаблоне, где есть переменная $post — например, в post.html на странице отдельной статьи или в stream.html в ленте постов.
{$post.views} просмотров
Код ниже позволяет получить полное дерево категорий текущего блога и вывести его в любом месте шаблона. Дочерние категории доступны через $category.children.
{$categories = $wa->blog->categoriesPlugin->getCategories()}
{foreach $categories as $category}
<a href="{$category.url}">{$category.name}</a>
{foreach $category.children as $child}
<a href="{$child.url}">{$child.name}</a>
{/foreach}
{/foreach}
Возвращает список опубликованных постов из тех же категорий, что и текущий. Удобно использовать в шаблоне post.html для блока «Читайте также». Второй параметр задаёт количество возвращаемых записей.
{$related = $wa->blog->categoriesPlugin->getRelatedPosts($post.id, 5)}
{foreach $related as $p}
<a href="{$p.link}">{$p.title}</a>
{/foreach}
Возвращает посты с наибольшим числом уникальных просмотров. Параметр задаёт количество записей. Удобно для раздела «Популярное» в сайдбаре или на главной странице.
{$top_posts = $wa->blog->categoriesPlugin->getTopPosts(10)}
{foreach $top_posts as $p}
<a href="{$p.link}">{$p.title}</a> — {$p.views} просмотров
{/foreach}
Возвращает посты с наибольшим числом одобренных комментариев. Хорошо подходит для блока «Обсуждаемое».
{$top_posts = $wa->blog->categoriesPlugin->getTopCommented(10)}
{foreach $top_posts as $p}
<a href="{$p.link}">{$p.title}</a> — {$p.comments} комментариев
{/foreach}
Рекомендуется защитить код проверками. Первая проверяет, установлен ли плагин вообще — через class_exists. А isCategoriesEnabled и isViewsEnabled проверяют настройки самого плагина: включён ли вывод категорий и включён ли счётчик просмотров. Это позволяет теме корректно работать даже без плагина или при частично отключённом функционале.
{if class_exists('blogCategoriesPlugin') && $wa->blog->categoriesPlugin->isCategoriesEnabled()}
<!-- Плагин установлен и категории включены-->
{/if}
{if class_exists('blogCategoriesPlugin') && $wa->blog->categoriesPlugin->isViewsEnabled()}
<!-- Плагин установлен и счетчик просмотров включен -->
{/if}
Интеграция в тему дизайна не входит в стоимость плагина.