Форум русской поддержки Joomla!® CMS
25.02.2017, 17:38:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Joomla - марафон. Сайт на миллион
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

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

 (Прочитано 13535 раз)
0 Пользователей и 1 Гость смотрят эту тему.
davidd
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« : 13.07.2009, 17:52:12 »

Здравствуйте,
Интересует вопрос:  Как исключить статью из результатов поиска в Joomla 1.5?
Метод  для  Joomla 1.0 описан в FAQ, но интересует именно для 1.5
« Последнее редактирование: 26.10.2009, 20:18:27 от PaLyCH » Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8421


Севастополь == Россия


« Ответ #1 : 13.07.2009, 17:59:16 »

совершенно аналогично, по тегу {nosearch}
plugins\search\content.php
находим строки (я насчитал 3 вхождения)
Код
. ' WHERE ( '.$where.' )'
и добавляем
Код
. ' AND NOT (a.introtext like '%{nosearch}%' OR a.fulltext like '%{nosearch}%')'

И для удаления тега из текста находим плагин, который отрабатывает на всех страницах (loadmodule.php, pagebreak.php или другой) и добавляем исходную строку
Код
$row->text = preg_replace( '#\{nosearch\}#is', '', $row->text );

Если нужно исключить только известные статьи (ограниченное кол-во) можно в самом запросе задать условие по ID материалов
Записан
davidd
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #2 : 13.07.2009, 20:27:25 »

Вставил после каждого WHERE  в plugins\search\content.php
   
Код:
150 . ' WHERE ( '.$where.' )'
151 . ' AND NOT (a.introtext like '%{nosearch}%' OR a.fulltext like '%{nosearch}%')'

Выдает ошыбку:
Parse error: syntax error, unexpected '{' in K:\home\... \www\plugins\search\content.php on line 151


Что это может быть?
Записан
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8421


Севастополь == Россия


« Ответ #3 : 13.07.2009, 20:39:34 »

использовать двойные кавычки для аргументов в запросе либо экранировать
Записан
davidd
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #4 : 13.07.2009, 21:15:44 »

Большое спасибо!
Поменял на:

Код:
. " AND NOT (a.introtext like '%{nosearch}%' OR a.fulltext like '%{nosearch}%')"

И пошло Azn
Записан
davidd
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #5 : 15.07.2009, 10:55:25 »

На заметку для следующего поколения Azn
Строку
Код:
$row->text = preg_replace( '#\{nosearch\}#is', '', $row->text );

Вставил в plugins/content/loadmodule.php сразу после кода
Код:
// expression to search for
$regex = '/{loadposition\s*.*?}/i';

Спасибо разработчикам
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet