Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

Поиск по цене - шутка??
« : 07.12.2007, 17:41:56 »
Поиск по цене в adsmanager происходит наитупешим образом!  :-\ В любом каталоге товаров покупатель желает искать товар, удовлетворяющий ценовому пределу, а не текстовому сочетанию цифр.
Как реализовать фильтр по цене "от и до"?
*

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Re: Поиск по цене - шутка??
« Ответ #1 : 16.02.2008, 00:56:04 »
В расширенном поиске производится поиск объекта с точным совпадением цены. Как сделать поиск по
максимальной цене (всех объектов с ценой ниже заданной).
*

Lui

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поиск по цене - шутка??
« Ответ #2 : 17.03.2008, 00:07:06 »
Никто еще не нашел решения??
*

gvozdyov

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Поиск по цене - шутка??
« Ответ #3 : 21.08.2008, 22:44:13 »
что-то наши мозголомы не спешат с ответом... а тем не менее, вопрос очень актуален... пунктом "цена" функция поиска загублена напрочь  crazy!
*

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Re: Поиск по цене - шутка??
« Ответ #4 : 27.08.2008, 23:19:21 »
форумчане, дайте решение.
« Последнее редактирование: 13.04.2012, 15:20:18 от lsk »
*

gvozdyov

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Поиск по цене - шутка??
« Ответ #5 : 25.10.2008, 10:54:18 »
итак.. прошло 11 месяцев? и пахоже всех устраивает поиск, кроме меня и этих 3 товарищей... кто-нибудь, хэлп!!!
*

archik

  • Осваиваюсь на форуме
  • 31
  • 4 / 0
Re: Поиск по цене - шутка??
« Ответ #6 : 20.11.2008, 02:28:51 »
Присоединяюсь к 3 товарищам  ^-^ Тоже очень волнует эта тема. Неужели ни у кого нет напильника, что б заточить наконец поиск?
*

Player666

  • Осваиваюсь на форуме
  • 11
  • 8 / 0
Re: Поиск по цене - шутка??
« Ответ #7 : 25.11.2008, 08:13:23 »
Итак, я реализовал нормальный поиск для adsmanager!  :D  8)

А теперь ребятки и вам помогу!!![/b]  ;)

Начнём:

Разберемся на примере "расширенного поиска".

ВНИМАНИЕ!!! ЭТО ВСЁ РАБОТАЕТ, В ТОМ СЛУЧАЕ ЕСЛИ ЦЕНА У ВАС ОБОЗНАЧЕНА, КАК ad_price
если по-другому просто найдите в моём коде и переименнуйте.


Цель: добавить дополнительные поля "от" и "до" для цены, и затем их обработать.

Все файлы находяться в components/com_adsmanager/

ШАГ №1. Добавим поля ввода "от" и "до" в расширенный поиск.

Файл adsmanager.html.php

Находим код:

Код
                                                                             case 'textarea':
case 'number':
case 'price':
case 'emailaddress':
case 'url':
case 'text':
echo "<input name='".$fsearch->name."' id='".$fsearch->name."' maxlength='20' class='inputbox' type='text' size='20' />";
break;

Меняем его на:

Код

case 'price':  //ЦЕНА ОТ И ДО

?>
от <input class="inputbox" type="text" size="10" maxlength="20" class="inputbox" name="pr_ot" /> до <input class="inputbox" type="text" size="10" maxlength="20" name="pr_do" />
                           
<?php
break;

break;

case 'textarea':
case 'number':

case 'emailaddress':
case 'url':
case 'text':

ПЕРВЫЙ ШАГ ЗАВЕРШЕН. Теперь в расширенном поиске выводятся поля цены от и до.

Едем дальше...

ШАГ №2. Корректируем запрос к базе данных.

Файл adsmanager.php

Находим код

Код

case 'text':
$value = mosGetParam( $_GET, $fsearch->name, "" );
if ($value != "")
{
$search .= " AND a.$fsearch->name LIKE '%$value%'";
$url_param .= "&amp;".$fsearch->name."=".$value;
}
break;
}
}
}


if ($text_search <> "") {
$search .= " AND (a.ad_headline LIKE '%$text_search%' OR a.ad_text LIKE '%$text_search%') AND a.published = 1";
}
else
$search .= " AND a.published = 1";

$url .= $url_param;


Меняем на:

Код
	case 'text':
$value = mosGetParam( $_GET, $fsearch->name, "" );
if ($value != "")
{
$search .= " AND a.$fsearch->name LIKE '%$value%'";
$url_param .= "&amp;".$fsearch->name."=".$value;
}
break;
}
}
}


if ($text_search <> "") {
$search .= " AND (a.ad_headline LIKE '%$text_search%' OR a.ad_text LIKE '%$text_search%') AND a.published = 1";
}
else
 //ПОИСК ПО ЦЕНЕ
      {
    $cenaot = intval( mosGetParam( $_GET, 'pr_ot', 0 ) );
$cenado = intval( mosGetParam( $_GET, 'pr_do', 0 ) );




if (($cenaot != "")&&($cenado != "")) {

$search .= " AND a.published = 1 and a.ad_price >= ".$cenaot." and a.ad_price <= ".$cenado;

} else {$search .= " AND a.published = 1";}


if (($cenaot != "")&&($cenado == "")) {

$search .= " AND a.published = 1 and a.ad_price >= ".$cenaot;

} else {$search .= " AND a.published = 1";}

if (($cenaot == "")&&($cenado != "")) {

$search .= " AND a.published = 1 and a.ad_price >= ".$cenado;

} else {$search .= " AND a.published = 1";}

  }

$url .= $url_param;

Едем дальше...

ШАГ №3. ДЕЛАЕМ АДЕКВАТНУЮ ПАГИНАЦИЮ РЕЗУЛЬТАТОВ ПОИСКА

Файл adsmanager.php

Находим код:

Код
function show_all($option,$expand,$text_search,$order,$limitstart)
{
global $mainframe,$database,$mosConfig_absolute_path,$mosConfig_live_site;

$itemid          = intval( mosGetParam( $_GET, 'Itemid', 0 ));


Меняем на:

Код
function show_all($option,$expand,$text_search,$order,$limitstart)
{
global $mainframe,$database,$mosConfig_absolute_path,$mosConfig_live_site;

$itemid          = intval( mosGetParam( $_GET, 'Itemid', 0 ));

$cenot           = intval( mosGetParam( $_GET, 'pr_ot', 0 )); // ДОПОЛНЕНИЕ СТРОКИ ПАРАМЕТРОВ ПОИСКА (ДЛЯ ЦЕНЫ)
$cendo           = intval( mosGetParam( $_GET, 'pr_do', 0 )); 



И последнее:

Находим код:

Код

//List
if ($text_search != "")
$url_text_search = "&amp;text_search=".$text_search;
$url ="index.php?option=$option&amp;page=show_all".$url_text_search."&amp;order=".$order;
adsList(ADSMANAGER_LIST_TEXT,"",$url,"show_all","1",$text_search,$expand,$order,0,$option,$limitstart);

Меняем на:

Код

//List
if ($text_search != "")
$url_text_search = "&amp;text_search=".$text_search;
$url ="index.php?option=$option&amp;page=show_all".$url_text_search."&amp;order=".$order."&pr_ot=".$cenot."&pr_do=".$cendo; //ПАГИНАЦИЯ ПОИСКА

adsList(ADSMANAGER_LIST_TEXT,"",$url,"show_all","1",$text_search,$expand,$order,0,$option,$limitstart);


Это изменения в самом компоненте. Если ходите сделать поиск от и до в стандартном модуле поиска, то поступайте так:

В файл mod_adsmanager_search.php (папка modules) добавте код:

Код
<input class="inputbox" type="text" size="10" maxlength="20" name="pr_ot" /> до <input class="inputbox" type="text" size="10" maxlength="20" name="pr_do" />


ВОТ И ВСЁ!!! РАДУЕМСЯ НОВОМУ ПОИСКУ!!!

Если есть желание выразить благодарность:

WMZ - Z662473774580
WMR - R216086541664

Yandex.деньги - 41001185908573

*

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Re: Поиск по цене - шутка??
« Ответ #8 : 26.11.2008, 20:43:18 »
Сделал поиск на локалке. Все заработало. Перебросил 2 файла в сеть. При выборе категории объявления появляется чистый белый лист . Возврат старых файлов ничего не дает. Прошу совет.
www.
« Последнее редактирование: 26.11.2008, 21:29:39 от lsk »
*

Player666

  • Осваиваюсь на форуме
  • 11
  • 8 / 0
Re: Поиск по цене - шутка??
« Ответ #10 : 27.11.2008, 07:46:45 »
lsk
Даже незнаю, что посоветовать, ведь на локалке работает... значит и на сайте должно по идее, у меня работает...
bnkportal.ru
*

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Re: Поиск по цене - шутка??
« Ответ #11 : 27.11.2008, 08:50:35 »
Я не внес
"И последнее:
//List "
В файле несколоко другой код:
//List
   if (isset($text_search))
      $url_text_search = "&amp;text_search=".$text_search;
   $url ="index.php?option=$option&amp;page=show_all".$url_text_search."&amp;order=".$order;
   adsList(ADSMANAGER_LIST_TEXT,"",$url,"show_all","1",$text_search,$expand,$order,0,$option,$limitstart);
}
Что делать.
*

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Re: Поиск по цене - шутка??
« Ответ #12 : 27.11.2008, 09:58:31 »
Все работает на ура!!! Нарвался на свою же защиту.
Player666, +1 спасибо. Ты сделал то, что упорно избегали сами разработчики.
Теперь компонент имеет полный функционал.
*

Player666

  • Осваиваюсь на форуме
  • 11
  • 8 / 0
Re: Поиск по цене - шутка??
« Ответ #13 : 29.11.2008, 13:29:52 »
да, пжалоста :))))
*

gvozdyov

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Поиск по цене - шутка??
« Ответ #14 : 06.12.2008, 12:12:49 »
Спасибо огромное, Player666 !!!
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Re: Поиск по цене - шутка??
« Ответ #15 : 15.05.2009, 06:28:27 »
Спасибо, это класная доделка
Но вот проблема,
Поиск по цене появился, а текстовые поля выше пропали, Файл adsmanager.html.php заменил код один в один
Прилагаю скрин
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Re: Поиск по цене - шутка??
« Ответ #16 : 15.05.2009, 07:56:07 »
Ну в общем в файле adsmanager.html.php изменил немного по другому для pack_adsmanager_v2.2.2

Код
case 'textarea':
case 'number':
case 'price':
case 'emailaddress':
case 'url':
case 'text':
echo "<input name='".$fsearch->name."' id='".$fsearch->name."' maxlength='20' class='inputbox' type='text' size='20' />";
break;

заменил вот так !!!

Код
case 'textarea':
case 'number':

case 'emailaddress':
case 'url':
case 'text':
echo "<input name='".$fsearch->name."' id='".$fsearch->name."' maxlength='20' class='inputbox' type='text' size='20' />";
break;

case 'price':  //ЦЕНА ОТ И ДО

?>
от <input class="inputbox" type="text" size="10" maxlength="20" class="inputbox" name="pr_ot" /> до <input class="inputbox" type="text" size="10" maxlength="20" name="pr_do" />
                           
<?php
break;

Уважаемые гуру, напишите плиз, я правильно сделал ? И почему неработало как предлагал автор этого хака

Сразу хочу предупредить, для версии adsmanager_2.5_RC1 эта замечательная доработка не работает

Автору было бы хорошо дописать в своём посте для какой верси он это делал
« Последнее редактирование: 15.05.2009, 16:07:56 от palexa »
*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Re: Поиск по цене - шутка?
« Ответ #17 : 20.09.2009, 12:56:53 »
кто реализовал для версии adsmanager_2.5 ?
*

grinat

  • Захожу иногда
  • 356
  • 34 / 2
Re: Поиск по цене - шутка?
« Ответ #18 : 22.09.2009, 16:48:46 »
Странно что код  вообще работает, в первом шаге case 'price': , а во втором case 'text': ну и т.п.
*

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
Re: Поиск по цене - шутка?
« Ответ #19 : 26.12.2009, 18:26:26 »
После установки поиска перестают подоваться объявления        на денвере все ОК     а на хостинге не могу поставить ни одного объявления.  Вернул все назад и заработало.  Вот такой вот глюк!    Как исправить! 
версия adsmanager_2.5 rc2   Причем ошибка именно  в файле adsmanager.php  (проверял)
*

Sakhalin

  • Захожу иногда
  • 162
  • 6 / 0
Re: Поиск по цене - шутка?
« Ответ #20 : 09.01.2010, 03:35:40 »
Player666 спасибо за корректный поиск!
*

shima

  • Захожу иногда
  • 113
  • 7 / 0
Re: Поиск по цене - шутка?
« Ответ #21 : 11.01.2010, 23:34:51 »
Скажите пожалуйста, в какой строке вставить этот  код
 
<input class="inputbox" type="text" size="10" maxlength="20" name="pr_ot" /> до <input class="inputbox" type="text" size="10" maxlength="20" name="pr_do" />
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
Re: Поиск по цене - шутка?
« Ответ #22 : 01.03.2010, 12:33:27 »
что-то наворотили свы с поископ по цене. Я вот нашел на форуме решение до безобразия простое, просто в поле цены выставляются параметры типа таких:
ЦЕНА - поиск от и до
Например, хотим в поиске пределы
до 100
от 100 до 200
больше 200

ставим
NAME < 100 VALUE -100
NAME от 100 до 200 VALUE 100-200
NAME > 200 VALUE 200-


и все!
*

morph

  • Давно я тут
  • 924
  • 105 / 0
Re: Поиск по цене - шутка?
« Ответ #23 : 02.03.2010, 06:58:26 »
что-то наворотили свы с поископ по цене. Я вот нашел на форуме решение до безобразия простое, просто в поле цены выставляются параметры типа таких:
ЦЕНА - поиск от и до
Например, хотим в поиске пределы
до 100
от 100 до 200
больше 200

ставим
NAME < 100 VALUE -100
NAME от 100 до 200 VALUE 100-200
NAME > 200 VALUE 200-


и все!

не всем так удобно.так вы изначально вводите промежутки для цен.
а если вот пользователю нужен именно в этот момент фильтр от 123 до 432? а его в выпадающем списке нет?

часто с такими вопросами сталкивался у заказчика,приходилось прикручивать именно поля от и до,поиск по формуле,поиск когда пользователь сам знаки Б < > = выбирает и т.п.
*

encence

  • Осваиваюсь на форуме
  • 33
  • 0 / 0
Re: Поиск по цене - шутка?
« Ответ #24 : 07.05.2010, 14:27:46 »
Отличная и необходимая доработка!
Но есть одна не очень удобная штука... при фильтрации по параметру «до» для правильной выдачи результатов необходимо вводить верхний и нижний предел диапазона «от» и «до», если «от» оставить пустым и задать параметр только «до», то происходит некорректная выдача. Уверен, что большинство клиентов при поиске вводят только верхний предел и не получают нужной информации, это вери бэд.
Помогите решить, пожалуйста!

Re: Поиск по цене - шутка?
« Ответ #25 : 07.11.2010, 20:02:40 »
Отличная и необходимая доработка!
Но есть одна не очень удобная штука... при фильтрации по параметру «до» для правильной выдачи результатов необходимо вводить верхний и нижний предел диапазона «от» и «до», если «от» оставить пустым и задать параметр только «до», то происходит некорректная выдача. Уверен, что большинство клиентов при поиске вводят только верхний предел и не получают нужной информации, это вери бэд.
Помогите решить, пожалуйста!



как вариант вставить значение по умолчанию 1 для поля "от" VALUE="1"

Код
 case 'price':  //ЦЕНА ОТ И ДО

?>
от <input class="inputbox" type="text" VALUE="1" size="10" maxlength="20" class="inputbox" name="pr_ot" /> до <input class="inputbox" type="text" size="10" maxlength="20" name="pr_do" />
                           
<?php
break;

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

Поиск по текстовым полям AdsManager

Автор Den85

Ответов: 4
Просмотров: 10541
Последний ответ 19.01.2019, 14:28:47
от Den85
AdsManager Расширенный поиск

Автор MakGrouman

Ответов: 1
Просмотров: 10853
Последний ответ 25.12.2018, 08:30:30
от MakGrouman
AdsManager поиск в категориях

Автор oleksyayko

Ответов: 4
Просмотров: 16912
Последний ответ 28.01.2018, 14:54:11
от alex79
Каждой категории свой поиск

Автор cheroky

Ответов: 6
Просмотров: 1336
Последний ответ 07.12.2015, 01:58:31
от voras
Расширенный поиск на cтранице категорий AdsManager

Автор akhalex38

Ответов: 1
Просмотров: 1227
Последний ответ 30.07.2015, 16:43:47
от akhalex38