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

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Sobi2. Цена от и до. Поиск. КАК?  (Прочитано 3872 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Travkin
Осваиваюсь на форуме
***

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

Сообщений: 38



« : 08.10.2009, 16:19:08 »

Sobi2. Цена от и до. Поиск. КАК?
Всю голову сломал!)...на офсайте был видел...особо ничего не получилось...может где есть более расширенный ответ на мой вопрос?
Записан
alexandro
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #1 : 23.10.2009, 14:08:57 »

тоже интересно
Записан
drus
Осваиваюсь на форуме
***

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

Сообщений: 95


« Ответ #2 : 23.10.2009, 16:24:46 »

Это интересует многих.
Вот, что удалось нарыть.
Тут http://www.pelloquin.com/index.php/Interval-search-plugin.html Стоит 15 европейских денег.
Тут http://joomlaforum.ru/index.php/topic,64528.0.html Тоже можно посмотреть.
Тут бесплатное решение http://www.sigsiu.net/forum/index.php/topic,14297.0/highlight,price.html. Но сортировка по цене не "от и до", а "не выше".
Пока что всё.
Может ещё у кого есть?
Записан
alexandro
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #3 : 08.11.2009, 23:47:52 »

Тут бесплатное решение http://www.sigsiu.net/forum/index.php/topic,14297.0/highlight,price.html. Но сортировка по цене не "от и до", а "не выше".

Спасибо за эту ссылочку. На основе неё прикрутил к своему модулю поиск с "ценой до". Глянуть можно тут: _http://dachnye-poselki.ru/katalog/ или в профиле, если админу не понравится.
В общем попробовал и сделать "с - до" по этому же принципу, получилось, но мне пока по функционалу не надо.

_____
Дело не в «админу не понравится», а есть правила форума. А ссылку в профиле никто не отменял и она работает не хуже Wink
« Последнее редактирование: 09.11.2009, 03:31:47 от SyncMaster » Записан
alexandro
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #4 : 22.11.2009, 22:11:35 »

Привет! Подскажи пожалуйста, как это реализуется?

Какие-то новые переменные вводил? Если да, то какие?

Вот пример где подробно рассказано как сделать цену ДО
http://www.sigsiu.net/forum/index.php/topic,14297.0/highlight,price.html.

По этому же примеру и делаешь цену ОТ, и немного правишь запрос к базе.
Записан
alexandro
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #5 : 23.11.2009, 10:18:57 »

Код:
$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
$_SESSION[MaxPrice] = $MaxPrice;
if($MaxPrice!=0 && ($searchString == trim(_SOBI2_SEARCH_INPUTBOX) || !$searchString)) $searchString='%';

$MinPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
$_SESSION[MinPrice] = $MinPrice;
if($MinPrice!=0 && ($searchString == trim(_SOBI2_SEARCH_INPUTBOX) || !$searchString)) $searchString='%';

Вы наверное прикалываетесь ?
$MinPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
Получается и $MinPrice и $MaxPrice у вас в одной переменной Price ?

Везде в назначении переменных где встречается Price добавьте вторую переменную, например Price2 .
Везде в назначении переменных где встречается MaxPrice добавьте MinPrice.
Соответственно $MinPrice присвойте где надо, типа $MinPrice = JRequest::getVar('Price2', '0', 'REQUEST', 'INT'); и про session не забудьте.

а этот запрос
Код:
/* Search by price */
$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
if ($MaxPrice!=0) {
$items = array();
foreach ( $sIDs as $ThisID ) {
$query = "SELECT DISTINCT sdata.data_txt " .
  "FROM `#__sobi2_fields_data` AS sdata " .
"WHERE sdata.itemid = '$ThisID' AND sdata.fieldid={$PriceFieldID}";
$database->setQuery( $query );
if ($database->loadResult() && $database->loadResult() <= $MaxPrice) $items[] = $ThisID;
}
$sIDs = $items;
unset($items);
}

я бы переделал на что-то типа
Код:
/* Search by price */
$MinPrice = JRequest::getVar('Price2', '0', 'REQUEST', 'INT');
$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
if ($MaxPrice!=0) {
$items = array();
foreach ( $sIDs as $ThisID ) {
$query = "SELECT DISTINCT convert(sdata.data_txt,unsigned) as data_txt " .
  "FROM `#__sobi2_fields_data` AS sdata " .
"WHERE sdata.itemid = '$ThisID' AND sdata.fieldid={$PriceFieldID}";
$database->setQuery( $query );
if ($database->loadResult() && $database->loadResult() >= $MinPrice && $database->loadResult() <= $MaxPrice) $items[] = $ThisID;
}
$sIDs = $items;
unset($items);
}
Он должен быть один, зачем вы два создали не понимаю.
У себя я так вообще сравнение цены вынес в сам sql запрос.
Записан
alexandro
Осваиваюсь на форуме
***

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

Сообщений: 26


« Ответ #6 : 23.11.2009, 10:20:20 »

да, не забудьте отследить для обоих значений пустое, тогда на 0 надо, что-ли заменить.
Записан
stas_rsv
Осваиваюсь на форуме
***

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

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



« Ответ #7 : 25.12.2009, 17:24:42 »

$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
а у меня на вот эту строчку ругается, не пошел поиск, а так хотелось
Записан
Шмайсер
JComments Tester
*

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

Сообщений: 801



« Ответ #8 : 28.12.2009, 01:11:01 »

Парни, а кто подскажет, я сделал поиск так как описано в этой ветке. Все работает, но.. Если задать цену в поле "Цена ОТ" бОльшую, чем самая максимальная цена во всех записях каталога, то поиск выкидывает все записи, которые есть.
( мы рассматриваем случай, когда пользователь в поиске вводит только критерий цены, больше ничего не трогает)
вот код
Код:
$MinPrice = JRequest::getVar('Price2', '0', 'REQUEST', 'INT');
$MaxPrice = JRequest::getVar('Price', '0', 'REQUEST', 'INT');
if ($MaxPrice!=0) {
$items = array();
foreach ( $sIDs as $ThisID ) {
$query = "SELECT DISTINCT convert(sdata.data_txt,unsigned) as data_txt " .
  "FROM `#__sobi2_fields_data` AS sdata " .
"WHERE sdata.itemid = '$ThisID' AND sdata.fieldid={$PriceFieldID}";
$database->setQuery( $query );
if ($database->loadResult() && $database->loadResult() >= $MinPrice && $database->loadResult() <= $MaxPrice) $items[] = $ThisID;
}
$sIDs = $items;
unset($items);
}

подозреваю, что надо чтото исправить в этой строке

Код:
if ($database->loadResult() && $database->loadResult() >= $MinPrice && $database->loadResult() <= $MaxPrice) $items[] = $ThisID;
Посоветуйте, как быть.
Заранее спасибо!
« Последнее редактирование: 02.01.2010, 19:18:16 от Шмайсер » Записан
den_ko
Осваиваюсь на форуме
***

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

Сообщений: 37


« Ответ #9 : 07.02.2010, 13:04:42 »

Спасибо очень помогло. Теперь столкнулся с такой проблемой, хочу прикрепить "цену от и до" к модулю поиска mod_sobi2search.php. Сам модуль передает значения полей по которым осуществляется поиск в поиск компонента axsearch.class.php. Проблема в том что значения добавленных полей цены не передаются в поиск компонента.
Joomla 1.5.15 SOBI2 2.9.2.3
Записан
uralmas
Давно я тут
****

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

Сообщений: 236


« Ответ #10 : 13.02.2011, 16:10:20 »

http://www.sigsiu.net/forum/index.php/topic,14297.0/highlight,price.html - там ссылочка на скачку не работает. Есть у кого-нибудь этот файл?
Записан
kokoc
Захожу иногда
**

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

Сообщений: 9


« Ответ #11 : 24.02.2011, 23:40:57 »

присоединяюсь к последнему высказыванию, если у кого то остался файлик, выложите, будьте любезны
Записан
kokoc
Захожу иногда
**

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

Сообщений: 9


« Ответ #12 : 27.02.2011, 12:55:25 »

Пробовал сделать все как написано в статье, ничего не получилось, и ошибки вроде бы нету, просто белая страница открывается при попытке зайти в поиск. может быть дело в версии, у меня SOBI2 RC 2.9.2.4 

Подскажите в чем может быть дело
Записан
kokoc
Захожу иногда
**

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

Сообщений: 9


« Ответ #13 : 28.02.2011, 07:52:52 »

в общем мучался мучался, не получилось. если у кого есть рабочее решение, готов заплатить

ICQ 434 848 704 Никита
Записан
lowlock
Захожу иногда
**

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

Сообщений: 7


« Ответ #14 : 10.10.2011, 14:32:59 »

Господа, таки у кого-нибудь остался файлик axsearchclass.html? А то ссылочка на его скачку уже давно не работает и нигде больше нет. Был бы очень благодарен!
Записан
NOJEK
Осваиваюсь на форуме
***

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

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



« Ответ #15 : 26.03.2012, 13:16:22 »

Господа, таки у кого-нибудь остался файлик axsearchclass.html? А то ссылочка на его скачку уже давно не работает и нигде больше нет. Был бы очень благодарен!
Товарищи вопрос мучает многих, поделитесь файлом! Заранее благодарен. nojek@yandex.ru
« Последнее редактирование: 27.03.2012, 16:40:07 от NOJEK » Записан
NOJEK
Осваиваюсь на форуме
***

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

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



« Ответ #16 : 13.05.2012, 22:48:00 »

http://joomlaforum.ru/index.php/topic,216187.0.html
« Последнее редактирование: 18.05.2012, 23:53:05 от NOJEK » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | 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