Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

Поиск по цене - шутка??
« : 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
Просмотров: 10573
Последний ответ 19.01.2019, 14:28:47
от Den85
AdsManager Расширенный поиск

Автор MakGrouman

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

Автор oleksyayko

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

Автор cheroky

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

Автор akhalex38

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