Пошаговая инструкция: вывод похожих записей/новостей в движке DLE по тегам при помощи плагина и строки php кода.

В сегодняшнем материале мы расскажем, как можно реализовать вывод похожих записей/новостей на сайте, работающем на платформе DLE.

Задача:

Вывести на сайте агентства недвижимости с номенклатурой более 6000 позиций блок с похожими вариантами объектов согласно их географической близости (расположение должно быть в одном и том же районе).

Решение:

Задаем каждому объекту тег, согласно его району/микрорайону. Через панель администрирования, это сделать несложно, конечно все зависит от количества записей, которые необходимо обработать.

В данном случае, мы вбивали через форму поиска в админке название района и присваивали всем результатам выдачи соответствующий тег. Половина дела сделано.

Теперь необходимо вывести блок с похожими записями на странице конкретного объекта.
Разработчики сайта нашего клиента ранее использовали плагин block.pro, но версия была устаревшая (версия 3) и не решала поставленные задачи. Похожие записи выводились, но хаотично и без какого-либо соответствия.

Делаем так:

В самый конец файла fullstory.tpl добавляем следующую строку:

{include file="engine/modules/blockpro/block.pro.3.php?template=related&related={news-id}&limit=4&tags={tags}&sort=none&showSmall=y&imgSize=100x100&imgQuality=90&resizeType=crop&textLimit=100&showSmall=y&imgSize=100x100&imgQuality=90&resizeType=crop&textLimit=100"}

За что отвечают переменные:

1) Подключаем файл шаблона плагина block.pro.

engine/modules/blockpro/block.pro.3.php?template=related

2) Выдергиваем ID новости.

&related={news-id}

3) Задаем лимит похожих выводимых записей.

&limit=4

4) Вытягиваем записи с определенным тегом.

&tags={tags}

5) Устанавливаем режим «без сортировки» (опционально: можно day, rand и др.).

&sort=none

6) Данная строка отвечает за вывод миниатюры изображения (за это отвечает сам плагин block.pro).

&showSmall=y&imgSize=100x100&imgQuality=90&resizeType=crop&textLimit=100

Задача выполнена. На ее выполнение ушло примерно 20-30 минут. Возможно существуют более оптимальные решения, но данный способ не показался нам сложным.

Обращаем Ваше внимание на то, что блок может отображаться по-разному, в зависимости от верстки сайта.