# =========================================================================== #
# NG CMS // Плагины // Похожие новости                                        #
# =========================================================================== #


Плагин даёт возможность делать автоматическую перелинковку новостей на сайте.
В качестве источника данных для перелинковки используется плагин "облако тегов".

Суть работы плагина:
При добавлении/редактировании новости плагин проверяет теги, установленные для
новости и находит наиболее похожие (по набору тегов) новости.
Все эти новости впоследствии могут отображаться на полной страницы новости в
виде блока "похожие новости".


Настройки админ-панели плагина:
--------------------------------------------------------------------
* Восстановление индексов - если Вам кажется, что для каких-то новостей
неверно отображается блок "похожих новостей", то вам необходимо запустить режим
восстановления индексов.
Также этот режим _необходимо_ запускать при обновлении версии плагина.

* Шаблон для отображения - вы можете указать откуда плагин будет брать свои шаблоны.
При выборе "шаблон сайта" плагин будет искать свои шаблоны в каталоге
templates/<ваш шаблон>/plugins/similar/

* Кол-во новостей для отображения в блоке - здесь указывается то кол-во наиболее
похожих новостей, которое будет показываться посетителям.
При изменении этого значния _необходимо_ запускать восстановление индексов.
Значение по умолчанию: 5
Максимально допустимое значение: 20


Используемые шаблоны:
--------------------------------------------------------------------
* similar.tpl - основной шаблон.
  Поддерживаемые переменные:
  . {{ entries }} - содержимое (строки) информационного блока (современный синтаксис)
  . {entries}     - содержимое (старый синтаксис, поддерживается)

* similar_entry.tpl - шаблон содержимого (строки) информационного блока
  Поддерживаемые переменные (СОВРЕМЕННЫЙ ФОРМАТ):
  . {{ news.date }}            - дата создания новости (готовая строка)
  . {{ news.url.full }}        - полная ссылка на новость
  . {{ news.title }}           - наименование новости
  . {{ news.author.name }}     - имя автора
  . {{ news.short }}           - краткое содержание
  . {{ news.categories.masterText }} - основная категория
  . {{ news.embed.images[0] }} - первое встроенное изображение
  . {{ news.embed.imgCount }}  - количество изображений
  . {{ tpl_url }}              - URL к ресурсам шаблона

  Старые переменные (устаревшие, но поддерживаются):
  . {date}    - дата создания новости (старый формат)
  . {url}     - URL к новости (старый формат)
  . {title}   - наименование новости (старый формат)

ВАЖНО: Обновление плагина (2026-05-26) — Версия 0.08
--------------------------------------------------------------------
Плагин обновлен для поддержки современного Twig-синтаксиса и объекта news.

НОВОЕ В ВЕРСИИ 0.08:
  ✓ Полная поддержка Twig и объекта news.*
  ✓ Кеширование похожих новостей (5 минут)
  ✓ Автоматическое использование newsFillVariables()
  ✓ Поддержка PHP 8.1+
  ✓ Оптимизированный рендеринг шаблонов

После обновления плагина необходимо:
  1. Обновить шаблоны similar.tpl и similar_entry.tpl на современный синтаксис
  2. Заменить старые переменные {date}, {url}, {title} на {{ news.date }},
     {{ news.url.full }}, {{ news.title }}
  3. Запустить "Восстановление индексов" в админ-панели плагина
  4. Очистить кэш плагина: удалить файлы из engine/cache/similar/

ТРЕБОВАНИЯ:
  • У новостей ДОЛЖНЫ БЫТЬ ТЕГИ для отображения блока похожих новостей
  • Плагин автоматически использует newsFillVariables() для создания полного
    объекта news с поддержкой всех современных переменных и функций
  • Результаты кешируются на 5 минут для снижения нагрузки на БД
