Как исключить статью/новость из результатов поиска Joomla 1.0?

  • Вторник, 27 февраля 2007

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

Для управления участием материалов в поиске введем некий произвольный тег, который будет учитываться поисковым мамботом. Например, пусть это будет тег {nosearch}.

ПРИМЕЧАНИЕ: перед внесением любых изменений рекомендуем сделать резервные копии модифицируемых файлов, чтобы при желании можно было откатиться на оригинальную версию.

Приступим к модификации, для этого открываем файл mambots/search/content.searchbot.php и добавляем после строчек (встречается ровно 4 раза):

		. "\n WHERE ($where)"

следующий код:

		. "\n AND NOT (a.introtext like '%{nosearch}%' OR a.fulltext like '%{nosearch}%')"

Это позволит исключить из поиска материалы, в интро- или полном тексте которых присутствует тег {nosearch}. Однако, в таком случае данный тег будет отображаться для пользователей, что не есть хорошо. Поэтому добавляем удаление данного тега в один из существующих мамботов. На мой взгляд наиболее удобен для этого mosimage.

Открываем файл mambots/content/mosimage.php и добавляем в него после строчки:

	global $database, $_MAMBOTS;

следующий код:

	$row->text = preg_replace( '#\{nosearch\}#is', '', $row->text );

Данная строчка будет автоматически удалять тег {nosearch} из статей перед отображением их пользователям. Таким образом мы добавили и обход таких статей при поиске, и скрыли данный тег от посетителей.

Все, после внесения описанных выше изменений, для исключения какого-то материала сайта из результатов поиска необходимо добавить в интро- или полный текст материала тег {nosearch}.

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla