0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 2525 Просмотров
*

phuntonik

  • Захожу иногда
  • 90
  • 2 / 0
Господа, нарисовалась проблема... Сколько не искал - найти не могу никак откуда ноги растут.

Дело вот в чём. К сайту прикручены объявления MarketPlace. Поиск стандартный - джумловский.
В обычном режиме всё хорошо - вбиваем, например, "коляска" и получаем результаты поиска, где есть ссылка на объявление.

А вот в процессе тестирования сайта - что-то меня дёрнуло произвести поиск по пустому слову - просто щелкнуть на строку поиска и тыкнуть Enter.
По логике вещей должно быть пустое поле результатов, "найдено 0" и так далее.

У меня же в результаты поиска вываливаются ВСЕ объявления, причём с косяками. Вот скриншот:



Почему они попадают в нулевой поиск? Это как-то реально исправить? Есть ли шанс как-то поставить затычку на поиск по пустому слову?
« Последнее редактирование: 25.01.2012, 17:00:27 от vagkrsk »
*

phuntonik

  • Захожу иногда
  • 90
  • 2 / 0
Проблему удалось решить самостоятельно.

Особых познаний в PHP не имею, но с помощью трех часов вдумчивого разбора кода на незнакомом языке, Google, нескольких чашек чая, пары печенек и такой-то матери удалось вникнуть в принцип работы поиска в Joomla. В общем модуль mod_search - только визуальную часть вносит, плюс даёт возможность разместить поиск в любой желаемой позиции. Основная подготовка запроса происходит в компоненте com_search, но дольше всего я доходил до того, что обработчики запроса находятся в папке Plugins/search/, где на каждый компонент свой плагин.

В-общем, чтобы исправить глюк, пришлось ставить затык: написать в файле plugins/search/marketplace.php дополнительное условие на php, в функции fuction onSearch (функция приведена не вся - добавленное условие - второе):

Код
function onSearch($text, $phrase='', $ordering='', $areas=null) {

// check we can handle the requested search
if (is_array($areas) && !in_array('marketplace', $areas)) {
return array();
}

                // check if the searchword is empty and making div for error if it is
                if (empty($text)) {
echo '<div id = "searcherror"><p>Пустая строка поиска! Введите поисковый запрос и повторите поиск!</p></div>';
return;
}



Условие позволило при пустом значении $text (читай пустом поисковом запросе) вывести сообщение, обёрнутое в div (чтобы стилями оформить красиво), а потом завершить всю функцию без выполнения.

Возможно кому-то поможет!
*

miller

  • Новичок
  • 6
  • 0 / 0
Re: Проблема с поиском MarketPlace!
« Ответ #2 : 21.02.2012, 11:38:06 »
Спасибо, помогло.
Только не могу найти теперь где поменять "MarketPlace" на "Объявления" в поле расширенного поиска. В остальных местах уже вроде везде поменял.
*

phuntonik

  • Захожу иногда
  • 90
  • 2 / 0
Re: Проблема с поиском MarketPlace!
« Ответ #3 : 22.02.2012, 09:36:23 »
Спасибо, помогло.
Только не могу найти теперь где поменять "MarketPlace" на "Объявления" в поле расширенного поиска. В остальных местах уже вроде везде поменял.

Нужно в файле plugins/search/marketplace.php в 42-й строке поменять

Код
static $areas = array('marketplace' => 'Marketplace');

на

Код
static $areas = array('marketplace' => 'Объявления');

Проверил у себя - работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

MarketPlace 2.3 Как сделать 20 фото?

Автор ravermixer

Ответов: 0
Просмотров: 3068
Последний ответ 10.11.2016, 22:23:10
от ravermixer
Поиск MarketPlace (модули, плагины, боты)

Автор probiz

Ответов: 15
Просмотров: 12480
Последний ответ 18.12.2015, 14:59:11
от Savitar
Как добавить объявление без регистрации? MarketPlace 2.*

Автор coolon

Ответов: 4
Просмотров: 17963
Последний ответ 25.11.2014, 19:50:26
от oreh-lg
Где скачать "MarketPlace" дайте ссылку!

Автор vd25

Ответов: 2
Просмотров: 4672
Последний ответ 12.03.2014, 21:08:22
от vd25
MarketPlace 2.3 как убрать кем опубликовано и дату

Автор zvi

Ответов: 0
Просмотров: 3476
Последний ответ 08.03.2014, 13:07:02
от zvi