Актуализированная сборка компонента «Похожий контент» под InstantCMS 2.18.1. Компонент помогает выводить похожие записи типов контента по ключевым словам, тегам, заголовкам, полнотекстовой релевантности, категориям и дополнительным фильтрам.
Эта сборка основана на старом открытом компоненте «Похожий контент» от Loadыря
Большое спасибо Loadырю за первоначальную разработку и саму идею компонента. Обновлённая версия является продолжением и актуализацией старого решения: код был адаптирован под современные версии InstantCMS 2, дополнен новыми возможностями вывода и подготовлен к установке через стандартный установщик дополнений. А теперь к сути...
Сайты строят вокруг разных типов контента: публикаций, карточек, каталогов, обзоров, объектов, материалов базы знаний и других структур. У каждой записи могут быть свои ключевые слова, теги, категории и текстовые поля.
Задача компонента — связать такие записи между собой и показать пользователю материалы, которые могут быть максимально близки по смыслу.
Это удобно для:
- блока «Похожие материалы» под записью;
- блока «Читайте также»;
- вывода похожих записей в сайдбаре;
- связки разных типов контента между собой;
- удержания пользователя на сайте;
- улучшения внутренней перелинковки;
- ручной настройки логики схожести без жёсткой привязки к одному стандартному сценарию.
Чем полезен именно этот компонент
Стандартный виджет похожего контента из коробки не всегда даёт достаточно гибкости, а здесь можно отдельно настроить:
- откуда брать похожие записи;
- какие поля текущей записи использовать для поиска;
- в каких полях искать совпадения;
- учитывать ли категории и подкатегории;
- учитывать ли теги;
- применять ли наборы и фильтры;
- как сортировать найденные записи;
- каким шаблоном выводить результат.
То есть компонент подходит не только для простого «показать похожие по заголовку», а для более точной настройки под структуру конкретного сайта.
Основные возможности
1. Работа с любыми типами контента
Релевант можно настроить для любого типа контента. Источник похожих записей тоже выбирается в настройках.
Например, можно:
- выводить похожие записи из того же типа контента;
- выводить записи из другого типа контента;
- связывать разные разделы сайта через общие ключи, теги или смысловые совпадения.
2. Категории и подкатегории
Можно ограничить поиск текущей категорией, конкретной категорией или подкатегориями. Это полезно, если похожие записи должны оставаться внутри нужного раздела.
3. Наборы и фильтры
Компонент может применять наборы и фильтры типа контента. Это позволяет выводить не просто все похожие записи, а только те, которые подходят под дополнительные условия.
4. Теги
Можно включить подбор по тегам текущей записи. Тогда похожими будут считаться записи, связанные с теми же тегами.
5. Полнотекстовый поиск
Компонент может брать поисковую фразу из:
- заголовка;
- SEO-ключей;
- тегов.
И искать совпадения в:
- заголовках;
- SEO-ключах;
- тегах;
- тексте записи, если соответствующее поле участвует в полнотекстовом поиске.
Дополнительно можно настроить длину поисковой строки, минимальную длину слова и слова-исключения.
6. Сортировка
Кроме стандартного выбора, в обновлённой сборке можно использовать специальные поля сортировки:
- KEY_MATCHES — количество точных совпадений по ключевым словам;
- REL — полнотекстовая релевантность;
- date_pub — дата публикации.
Если важнее смысловая похожесть, можно сортировать так:
- KEY_MATCHES по убыванию;
- REL по убыванию;
- date_pub по убыванию.
Если важнее свежесть, порядок можно изменить:
- date_pub по убыванию;
- KEY_MATCHES по убыванию;
- REL по убыванию.
Что изменилось в обновлённой сборке
Актуализация под InstantCMS 2.18.1
Пакет подготовлен для установки на чистую InstantCMS 2.18.1 через стандартный установщик дополнений в админке.
Стандартная структура пакета
Архив собран в формате пакета InstantCMS:
- manifest.ru.ini;
- install.sql;
- install.php;
- package/.
Регистрация виджета
После установки компонент добавляет виджет «Похожий контент», если он ещё не был создан.
Вывод через поле и через виджет
Компонент можно использовать двумя способами:
- как поле типа контента;
- как виджет в нужной позиции шаблона.
Для поля доступны варианты:
- «Похожий контент»;
- «Похожий контент — сквозной».
Дополнительные шаблоны вывода
В сборку добавлены готовые шаблоны для выбора из админки:
- стандартный вывод;
- универсальные колонки;
- 2 колонки;
- 3 колонки.
Отдельные варианты добавлены и для шаблона самого релеванта, и для тела виджета.
Адаптивная логика колонок
Колонные шаблоны рассчитаны на разные зоны сайта:
- в широком блоке можно выводить карточки в несколько колонок;
- в сайдбаре вывод становится компактным;
- на мобильных устройствах блок становится одноколоночным.
Улучшенная работа с релевантностью
Добавлена возможность использовать сортировку по совпадениям ключей и полнотекстовой релевантности. Это делает подбор более управляемым: можно отдельно решать, что важнее для конкретного блока — совпадение ключей, полнотекстовая схожесть или свежесть записи.
Что осталось от оригинальной идеи
Сохранена основная логика старого компонента:
- создание релевантов;
- выбор типа контента;
- настройка категорий;
- настройка шаблона;
- полнотекстовый поиск;
- фильтры;
- сортировка;
- вывод через поле;
- вывод через виджет.
Обновлённая версия не меняет назначение компонента, а приводит его к рабочему состоянию для новых версий InstantCMS и дополняет более удобными вариантами вывода.
Установка
- Сделайте резервную копию файлов и базы данных сайта.
- Откройте админку InstantCMS.
- Перейдите в установку дополнений.
- Загрузите ZIP-архив пакета.
- Подтвердите установку.
- После установки откройте компонент «Похожий контент».
Базовая настройка
Пример универсальной настройки релеванта:
- системное имя: related_content;
- заголовок: Похожие материалы;
- тип контента: выбрать нужный тип контента;
- источник поиска: seo_keys, затем title;
- поля поиска: seo_keys и title;
- поле изображения: выбрать поле изображения, если оно есть;
- шаблон: tpl_columns, tpl_columns_2 или tpl_columns_3;
- лимит: например 3, 4 или 6 записей;
- сортировка: выбрать порядок под задачу блока.
Для смысловой похожести: разбирали выше.
Как вывести блок
1. Через поле типа контента
Добавьте в нужный тип контента поле «Похожий контент» или «Похожий контент — сквозной» и выберите созданный релевант. Этот вариант удобен, когда блок должен быть частью самой записи.
2. Через виджет
Добавьте виджет «Похожий контент» в нужную позицию шаблона и выберите созданный релевант. Этот вариант удобен для сайдбара, нижней позиции под записью или универсальных блоков сайта.
Для каких сайтов подойдёт
Компонент может быть полезен для сайтов, где нужно связывать записи типов контента по смыслу:
- каталоги;
- базы знаний;
- блоги;
- сайты с обзорами;
- сайты с публикациями;
- сайты с карточками объектов;
- проекты с несколькими типами контента.
Важное примечание об авторстве
Эта сборка распространяется бесплатно как актуализация старого открытого компонента. Первоначальная разработка принадлежит Loadырю, исходная страница дополнения: Похожий контент
Пожалуйста, сохраняйте упоминание первичного автора и ссылку на исходную страницу. Это корректно по отношению к человеку, который сделал первую версию и заложил основную идею компонента.