Новости 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 Гость просматривают эту тему.
  • 21 Ответов
  • 1183 Просмотров
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Помогите пожалуйста, смысл вопроса таков, делаю сайт для определённой категории людей... Там есть возможность создать встречу в определённом месте, для тренировок, где зарегестрировавшийся пользователь вбив данные о времени, месте встречи, и т.д. заносит эти данные в БД. Так вот вопрос, на другой странице все эти встечи видны в виде таблицы, тоесть:

$dbo = JFactory::getDbo();
$query1 = $dbo->getQuery(true);
$query1->select(array('a.date_run', 'a.time_run', 'a.starting_place', 'a.distance_run', 'a.speed_run', 'b.firstname', 'b.lastname', 'a.call_me', 'a.age_run', 'a.gender', 'a.id_run', '(SELECT COUNT('id_training') FROM '#__narod' WHERE '#__training.id_run'='#__narod.id_training') As Ludi' 'count(c.id_training As Ludi')))
(SELECT COUNT(*) FROM `page` WHERE page.category_id = category.id) as `count`
->from('#__training As a')
->join('INNER', '#__comprofiler AS b ON (a.id_user = b.user_id)')
->join('INNER', '#__narod AS b ON (a.id_run = c.id_training)');
$dbo->setQuery($query1);
$result = $dbo->loadAssocList();
echo '<table border="1" style="font-size:.8em">';
echo '<thead>';
echo '<tr>';
echo '<th>Дата тренировки</th>';
echo '<th>Время тренировки</th>';
echo '<th>Место тренировки</th>';
echo '<th>Дистанция</th>';
echo '<th>Скорость</th>';
echo '<th>Организатор</th>';
echo '<th>Фамилия</th>';
echo '<th>Связь</th>';
echo '<th>Возраст участников</th>';
echo '<th>Пол участников</th>';
echo '<th>Хотели бы вы присоединиться к тренировке?</th>';     // ?   ВОПРОС ИМЕННО ПО ЭТОМУ ПОЛЮ...
echo '</tr>';
echo '</thead>';
echo '<tbody>';
foreach($result as $data)
{
echo '<tr>';
echo '<td>' . $data['date_run'] . '</td>';
echo '<td>' . $data['time_run'] . '</td>';
echo '<td>' . $data['starting_place'] . '</td>';
echo '<td>' . $data['distance_run'] . '</td>';
echo '<td>' . $data['speed_run'] . '</td>';
echo '<td>' . $data['firstname'] . '</td>';
echo '<td>' . $data['lastname'] . '</td>';
echo '<td>' . $data['call_me'] . '</td>';
echo '<td>' . $data['age_run'] . '</td>';
echo '<td>' . $data['gender'] . '</td>';
echo '<td> <a href=index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>">Присоединиться</a></td>';  //? Хотел сделать в виде $_POST но ничего не выходит с присвоением переменной!
echo '</tr>';
}
echo '</tbody>';
echo '</table>';

Так вот если посмотреть на последний столбец таблицы, там как раз и есть ссылка на то, что бы присоединиться к этой тренировке, к примеру там несколько разных тренировок, может 10, а может и больше, так вот как сделать так что пользователь в зависимости от того какую тренировку выбрал (на какой строке нажал кнопку ПРИСОЕДИНИТЬСЯ) к такой именно тренировке и присоединился, конкретнее записалась запись в таблицу с его id и с id той тренировке, которую он выбрал?! Помогите разобраться, если нужно подробнее описать суть проблемы, напишите мне на почту deonisich@gmail.com, буду надеяться что кто-нибудь откликнется...
« Последнее редактирование: 09.10.2014, 15:06:24 от Deonisich »
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Ребята, ну что, не ужели не кто не знает, как мне запомнить в переменной выбранный id строки из таблицы? Откликнитесь пожалуйста...
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Deonisich перестаем гомнокодить и вместо повторяющегося echo пишем
Код: php-brief
$html = 'a';
$html .= 'b';
$html .= 'c';
echo $html;
переход по ссылке это GET, а не POST
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Да прошу прощения, про POST, у меня там так и было $id_r = $_GET['id_run'];
а в таблице echo '<td> <a href=index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>">Редакт</a></td>';
но ничего не происходит...

А за лишний код спасибо за замечания, просто я только осваиваю, поэтому мне как то проще подробно всё расписывать...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
href=index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>" - кавычку забыли поставить, href="index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>" - по идее
« Последнее редактирование: 10.10.2014, 22:45:47 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
href=index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>" - кавычку забыли поставить, href="index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>" - по идее
Ну это я копировал с блокнота, в коде у меня вот так echo '<td> <a href="index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>">Редакт</a></td>';
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
ну и как вы потом эту переменную получаете? $_GET['id_run'] выводит что нибудь? Версия php какая ? short-tags директива включена в настройках php?
echo '<td> <a href="index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>">Редакт</a></td>' -вобще неправильный синтаксис:
вот так правильно:
echo '<td> <a href="index.php?option=com_content&view=article&id=61&id_run='. $id_r .'">Редакт</a></td>'
интернет-блог: http://websiteprog.ru
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Версия 5.5, я пытался хотябы просто вывести на эту же страницу id выбранной тренировки, но без успешно (((
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
может быть в $data['id_run'] нужная вам переменная?
попробуйте:
echo '<td> <a href="index.php?option=com_content&view=article&id=61&id_run='.$data['id_run'].'">Присоединиться</a></td>';
« Последнее редактирование: 10.10.2014, 23:03:15 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Так в том то и дело она не появляется, по идеи я так и думал, что она должна зафиксироваться в переменной...
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
$dbo = JFactory::getDbo();
$query1 = $dbo->getQuery(true);
$query1->select(array('a.date_run', 'a.time_run', 'a.starting_place', 'a.distance_run', 'a.speed_run', 'b.firstname', 'b.lastname', 'a.call_me', 'a.age_run', 'a.gender', 'a.id_run', '(SELECT COUNT('id_training') FROM '#__narod' WHERE '#__training.id_run'='#__narod.id_training') As Ludi' 'count(c.id_training As Ludi')))
(SELECT COUNT(*) FROM `page` WHERE page.category_id = category.id) as `count`
->from('#__training As a')
->join('INNER', '#__comprofiler AS b ON (a.id_user = b.user_id)')
->join('INNER', '#__narod AS b ON (a.id_run = c.id_training)');
$dbo->setQuery($query1);
$result = $dbo->loadAssocList();

я не понимаю че Вы мучаетесь!
используй простой запрос к БД, который будет понятен не только тебе, но и системе...

К примеру!
Код
$db = JFactory::getDBO;
$query = "запрос к БД";
$db->setQuery($query);
$result = $db->loadAssocList();

далее

Код
foreach($result as $data)
{
формирование строки в таблице
}

...
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Не вижу особой разницы, запрос с двумя джоинами и двумя подзапросами, не такой уж и сложный для чтения..
интернет-блог: http://websiteprog.ru
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Тоесть если даже просто наводить на любую из строк таблице по ссылке  echo '<td> <a href="index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>">ПРИСОЕДИНИТЬСЯ</a></td>'; то переход не осуществляется, внизу название ссылки выглядит следующем образом: www.site.ru/index.php/feature/joomla-overview/test?id_run=              ?- и всё пусто (((
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
я не понимаю че Вы мучаетесь!
используй простой запрос к БД, который будет понятен не только тебе, но и системе...

К примеру!
Код
$db = JFactory::getDBO;
$query = "запрос к БД";
$db->setQuery($query);
$result = $db->loadAssocList();

далее

Код
foreach($result as $data)
{
формирование строки в таблице
}



Да это то всё давно сформировано и показывается, просто к каждой строке у меня прикреплена ссылка на то что бы пользователь мог присоединится, по другому добавится в БД его id и id выбранной им тренировки, вот с выводом id тренировки у меня и проблема (((
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
вы пробовали то что я выше написал? Да у вас ошибок тут немерянно:
->join('INNER', '#__comprofiler AS b ON (a.id_user = b.user_id)')
->join('INNER', '#__narod AS b ON (a.id_run = c.id_training)');
что за странные джоины? может в первой джоине
->join('INNER', '#__comprofiler AS с ON (a.id_user = с.user_id)')
интернет-блог: http://websiteprog.ru
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
т.е. $id_r судя по коду из топика - вообще не определена
и если включить показ ошибок (например, error_reporting(E_ALL), вначале кода), то видимо можно увидеть сообщение об этом
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Не вижу особой разницы, запрос с двумя джоинами и двумя подзапросами, не такой уж и сложный для чтения..

но все равно понятнее,  что и где делается!

<a href="index.php?option=com_content&view=article&id=61&id_run=<?= $id_r ?>">ПРИСОЕДИНИТЬСЯ</a>

я думаю что у тебя все равно не получиться, потому что компонент не знает что ты от него хочешь... и какие данные ты ему даешь... и что и где выводить...
...
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
вы пробовали то что я выше написал? Да у вас ошибок тут немерянно:
->join('INNER', '#__comprofiler AS b ON (a.id_user = b.user_id)')
->join('INNER', '#__narod AS b ON (a.id_run = c.id_training)');
что за странные джоины? может в первой джоине
->join('INNER', '#__comprofiler AS с ON (a.id_user = с.user_id)')

Да эти обьединения, в частности последнее нужно, что бы в таблице выводилось количество присоединенных пользователей к данной тренировки, тут ошибки нет ни какой... Это обьединение показывает 'count(c.id_training) As ludi' счётчик, про который я как раз и говорю, что когда пользователь нажимает на ссылку, то его id и id тренировки записывается вот в эту таблицу '#__narod' !
« Последнее редактирование: 10.10.2014, 23:22:31 от Deonisich »
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
SELECT COUNT('id_training') FROM '#__narod' WHERE '#__training.id_run'='#__narod.id_training'

этот же запрос выводит количество пользователей, а не записывает их...
...
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
этот же запрос выводит количество пользователей, а не записывает их...
правильно, а дальше как раз в следующем столбце и идёт ссылка на присоединение echo '<td> <a href="index.php?option=com_content&view=article&id=61&id_run='.$data['id_run'].'">Присоединиться</a></td>';
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Как у вас этот запрос вобще работает я честно говоря непонимаю, тут такие ляпы.. А что в $result, распечатать пробовали?
интернет-блог: http://websiteprog.ru
*

Deonisich

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
да мне $result ничего не даст, кроме как того что находится в $data (тоесть в БД), а какие там ляпы, помойму всё в запросе логично, связь по ID в каждой таблице, всего три таблицы, это таблица с тренировками, ну там время место скорость и т.д. Дальше таблица с зареганами пользователями от куда имена, эл.почта и так далее, ну и третья это связующая таблица между этими двумя...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать сохранение товара в корзине? И как убрать или зафиксировать мини изображение?

Автор salikh

Ответов: 2
Просмотров: 1199
Последний ответ 24.11.2016, 12:59:36
от salikh
Как зафиксировать фон сайта относительно макета?

Автор qclub

Ответов: 6
Просмотров: 3212
Последний ответ 13.06.2016, 18:03:14
от ramm32
Как загрузить плагин, если нет строки - менеджер расширений?

Автор rairakku

Ответов: 1
Просмотров: 1605
Последний ответ 28.11.2015, 10:58:42
от Ilhom666
Не выводятся новости для выбранной категории

Автор worldmen

Ответов: 2
Просмотров: 882
Последний ответ 23.04.2014, 12:53:38
от worldmen
Удаление строки таблицы в контроллере

Автор digitalheart

Ответов: 2
Просмотров: 975
Последний ответ 25.02.2014, 09:00:47
от digitalheart