Форум русской поддержки Joomla! CMS |

23.04.2010, 20:25:33

Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь. Вам не пришло письмо с кодом активации? Войти

|  | Начало |  | Поиск | Joomla 1.5 FAQ | Joomla 1.0 FAQ | Правила форума | Новости Joomla | Войти | Регистрация | Помощь |

Страниц: [1] Вниз |

| Добавить закладку | Печать |

| Автор | Тема: Как исключить статью из результатов поиска? (Прочитано 1625 раз)
0 Пользователей и 1 Гость смотрят эту тему.

davidd Захожу иногда Репутация: +0/-0 Offline Сообщений: 7

| Как исключить статью из результатов поиска? « : 13.07.2009, 17:52:12 » |

Здравствуйте,
Интересует вопрос: Как исключить статью из результатов поиска в Joomla 1.5?
Метод для Joomla 1.0 описан в FAQ, но интересует именно для 1.5

« Последнее редактирование: 26.10.2009, 20:18:27 от PaLyCH » | Записан

beliyadm Joomlapedia team Репутация: +1200/-48 Offline Пол:
Сообщений: 8706
Севастополь==Россия

| Re: Как исключить статью из результатов поиска? « Ответ #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 материалов

| Записан

Замороженные сиськи растревожили меня, замороженные сиськи очень странная фигня
-=Joomla FAQ=- || Работаем..с || Private Joomla Blog

davidd Захожу иногда Репутация: +0/-0 Offline Сообщений: 7

| Re: Как исключить статью из результатов поиска? « Ответ #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 Joomlapedia team Репутация: +1200/-48 Offline Пол:
Сообщений: 8706
Севастополь==Россия

| Re: Как исключить статью из результатов поиска? « Ответ #3 : 13.07.2009, 20:39:34 » |

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

| Записан

Замороженные сиськи растревожили меня, замороженные сиськи очень странная фигня
-=Joomla FAQ=- || Работаем..с || Private Joomla Blog

davidd Захожу иногда Репутация: +0/-0 Offline Сообщений: 7

| Re: Как исключить статью из результатов поиска? « Ответ #4 : 13.07.2009, 21:15:44 » |

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

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

И пошло

| Записан

davidd Захожу иногда Репутация: +0/-0 Offline Сообщений: 7

| Re: Как исключить статью из результатов поиска? « Ответ #5 : 15.07.2009, 10:55:25 » |

На заметку для следующего поколения
Строку
Код:

    $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.11 | SMF © 2006, Simple Machines LLC |

Загружается...