Новости 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

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

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Применения AJAX в AdsManager
« : 30.12.2011, 14:09:16 »
Поделюсь небольшой информацией, может кому пригодится.
Итак, чтобы использовать в AdsManager (на примере приводится код для версии 2.5). возможности AJAX нужно в AdsManager.html.php:

1. Добавить ссылку (картинку, внопку и т.д.) при нажатии на которую будет сделан нужный запрос,  для примера
Код
<a href='javascript:void(0);' class='adsmsanger_ajax' onClick='ajax_test($row->id,this)'>ТЕСТИРУЕМ Ajax</a>
Тут мы назначаем событие при клике мышкой выполнить JS код.
2. Добавляем код JS:
Код
<script type="text/javascript">
function ajax_test(id,el){
var url = '/index2.php?option=<?=$option?>&page=ajax_test&id='+id+'&no_html=1';
   if (window.XMLHttpRequest) {
       req = new XMLHttpRequest();
       req.open("GET", url, true);
       req.send(null);
   }else if (window.ActiveXObject){
       req = new ActiveXObject("Microsoft.XMLHTTP");
       if (req) {
           req.open("GET", url, true);
           req.send();
       }
   }
   req.onreadystatechange = function(){
   if (req.readyState == 4)  {
el.innerHTML = req.responseText;
el.setAttribute('onclick','');
   }      
   }

}
</script>
Код выше является универсальным для всех браузеров. В нем создали нужную функцию и передаем AJAX запрос.
Теперь этот запрос надо обработать.
3. В файл AdsManager.php  находим сверху switch ($page) { - сюда будет вставлять обработчик:
Код
case 'ajax_test':{
             ajax_test();
break;
}
Тут, если передаваемый page=ajax_test, то выполнить функцию ajax_test();
4. Сама функция - размещается также в AdsManager.php:
Код
function  ajax_test(){
    global $database;
$option = mosGetParam($_GET,'option', "" );
$id = mosGetParam($_GET,'id', "" );
$database->setQuery("UPDATE #__adsmanager_ads SET flag_top=1 WHERE id=$id");
$database->query();
header('Content-type: text/html; '._ISO);
echo "Ура работает";
exit;
Тут мы сделали запрос в БД и в таблице компонента установили значение flag_top=1, после чего показали надпись "Ура работает".
На этом все, довольно просто и эффективно.
« Последнее редактирование: 30.12.2011, 14:16:37 от yuri-it »
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Применения AJAX в AdsManager
« Ответ #1 : 04.01.2012, 18:29:17 »
спасибо! Пока правда не могу найти куда её запихнуть , кроме как на "поднятие объявления" ))
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Применения AJAX в AdsManager
« Ответ #2 : 05.01.2012, 18:34:32 »
извините, а таким способом можно сделать, чтобы при нажатии , брало информацию из поля "gorod" из базы данных и вывело все объявления только из определенного города?
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Применения AJAX в AdsManager
« Ответ #3 : 11.01.2012, 00:47:14 »
спасибо! Пока правда не могу найти куда её запихнуть , кроме как на "поднятие объявления" ))
Немного доработав компонент можно сделать например, удаление, снятие с публикации, публикация, платные функции и т.п.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Применения AJAX в AdsManager
« Ответ #4 : 11.01.2012, 00:48:56 »
извините, а таким способом можно сделать, чтобы при нажатии , брало информацию из поля "gorod" из базы данных и вывело все объявления только из определенного города?
можно, только куда будет все выводиться? Вообще можно обработчику сделать любую функцию и выводить что угодно.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Применения AJAX в AdsManager
« Ответ #5 : 11.01.2012, 01:04:42 »
Немного доработав компонент можно сделать например, удаление, снятие с публикации, публикация, платные функции и т.п.
мне сказал товарищ Grinat что в этом случае нагрузка на сервер растёт в геометрической прогрессии
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Применения AJAX в AdsManager
« Ответ #6 : 11.01.2012, 15:34:17 »
мне сказал товарищ Grinat что в этом случае нагрузка на сервер растёт в геометрической прогрессии
интересно с какого перепугу она будет расти? Пример, сделали кнопку на удаление обяъявления AJAX и обычная кнопка удаления. При использовании обычной кнопки выполнится запрос на удаление + перезугрузка всей страницы (т.е. плюс выполнится еще туча запросов, который нафиг не нужны для удаления), при AJAX кнопке выполнится только 1 нужный запрос...
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Применения AJAX в AdsManager
« Ответ #7 : 11.01.2012, 18:53:59 »
я имел ввиду конкретно про "публикация объявления (снять, опубликовать)" как на "авито" в любой момент можно опубликовать или снять.
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Применения AJAX в AdsManager
« Ответ #8 : 11.01.2012, 21:48:32 »
я имел ввиду конкретно про "публикация объявления (снять, опубликовать)" как на "авито" в любой момент можно опубликовать или снять.
без разницы, снять или опубликовать - всего 1 запрос надо сделать
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
Re: Применения AJAX в AdsManager
« Ответ #9 : 11.01.2012, 22:58:19 »
ну хз хз :) понятно что запрос 1, но полагаю если объявления будут хранится вечно на сайте и их в любой момент можно опубликовать или снять - нагрузка всё равно возрастёт на сервер
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Применения AJAX в AdsManager
« Ответ #10 : 12.01.2012, 11:51:15 »
ну хз хз :) понятно что запрос 1, но полагаю если объявления будут хранится вечно на сайте и их в любой момент можно опубликовать или снять - нагрузка всё равно возрастёт на сервер
ничто не мешает удалять неопубликованные объявления автоматически, если например они месяц (или любое нужное время) в статусе неопубликованных. Тем более неопубликованные объявления не попадают под выборку объявлений и выводятся только конкретным юзерам, даже не удалая их разница в нагрузке будет ничтожной. Ну это каждый решает за себя, пользоваться или нет, для меня выбор очевиден.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

lazer

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Re: Применения AJAX в AdsManager
« Ответ #11 : 15.06.2012, 22:48:41 »
Не знаю как у кого, но у меня не заработало.  В последнем коде после exit; нет закрывающей }
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 3988
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 14516
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 3245
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 13630
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 28863
Последний ответ 27.03.2020, 22:32:04
от Pavel