
Рассмотрим вариант создания блока похожих статей с учетом тематики статьи.
Нам понадобится два расширения: Tagger
(для тегов к статьям) и pdoTools
(для вывода ресурсов). Установим их на странице "Управление пакетами".
С помощью тегов будем определять насколько страницы схожи - чем больше совпадений, тем больше вес.
Заходим в "Приложения -> Tagger". Для начала нужно создать группу тегов, настройки могут быть примерно такими:
Здесь главное указать шаблоны, к которым нужно добавить ввод тегов.
После создание группы, во вкладке "Тэги", нужно создать все необходимые теги. Этот список можно будет расширять по мере необходимости.
Получится примерно такая таблица:
Теперь можно отредактировать статьи и указать к каким тегам они относятся, например:
После настройки Tagger'a и редактирования уже существующих статей можно приступить к выводу блока похожих статей.
Нам нужно узнать к каким тегам относится текущая статья, после чего присоединить к выборке таблицу с тегами и отсортировать ресурсы по количеству совпадений тегов.
Для начала напишем сниппет, который вернет массив с ID тегов текущей статьи. Назовем его getTagIDs
, код сниппета:
Сниппет принимает параметр master
- ID ресурса, теги которого нужно получить. По умолчанию- текущий.
Теперь с помощью pdoResources
построим запрос на вывод схожих статей:
В примере используется шаблонизатор Fenom из состава pdoTools. При копировании кода нужно удалить комментарии.
Данный код выведет примерно следующее:
Теперь осталось отредактировать шаблон под стиль сайта и "умный" вывод схожих статей готов.
Иногда может потребоваться запустить сборку фронта непосредственно на хостинге, это может быть сайт, где по разным причинам не рационально использовать подход Build & Deploy.
Комментарии ()