Как исключить материалы из поиска Joomla

Неотъемлемой частью сайта является поиск. Поиск позволяет посетителям сайта находить необходимую им информацию в разы быстрее. Но иногда необходимо исключить некоторое содержимое из результатов поиска. В данной статье поговорим о том, как исключить некоторые категории материалов из результатов поиска Joomla.

Как это работает:

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

Способ тестировался на Joomla версии 3 и выше. Но должно работать и на более ранних версиях.

Откройте файл /plugins/search/content/content.php и найдите блок поиска по материалам:

// Search articles.
if ($sContent && $limit > 0)

Несколькими строками ниже Вы увидите запрос в базу данных на выборку материалов:

$query->select('a.title AS title, a.metadesc, a.metakey, a.created AS created, a.language, a.catid, a.introtext AS description')

Для того, чтобы исключить выборку материалов из определенных категорий необходимо после последнего условия ->where() и перед сортировкой ->group() добавить своё условие:

->where('a.catid NOT IN(2, 3, 4)')

2, 3, 4 - id категорий, в которых запрещаем производить поиск. Укажите свои id через запятую, а потом произведите поиск, чтобы убедиться, что материалы из указанных категорий не попадают в результаты поиска.

Важно: учитывая, что мы произвели правку плагина, помните, что после обновления CMS Joomla произведенные изменения могут пропасть и их придется вносить заново.


Оставьте свой комментарий

Оставить комментарий от имени гостя

0 / 2500 Ограничение символов
Ваш текст должен быть в пределах 10-2500 символов
Комментарии | Добавить свои
  • Комментарии не найдены