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

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Задача следующая:
Нужно добавить в базу данных, где описываются пользователи Joomla несколько полей для описания пользователя, чтобы в разделе "Пользователи" помимо имени пользователя и пароля был ещё селект, дающий понять, скажем Клиент ли этот пользователь или же Партнёр

Нужно это для того чтобы, перед тем как впустить пользователя на сайт, я смог бы проверить кто он такой и в зависимости от результатов идентификации загрузить нужную для него информацию, либо же переместить на какой-нибудь мой сайт

Каким образом лучше всего осуществить эту процедуру и с помощью каких средств?
*

OLIWIN

  • Захожу иногда
  • 81
  • 0 / 0
Тоже интересует такой вопрос! Только для добавления товара
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
неужели никто не знает?) не верю)
как хотя бы называется таблица, где описываются пользователи Joomla? и как называется файл в файловой структуре Jommla, имеющий код вывода данных о юзере в админке?
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Вариант 1. Добавить новые группы пользователей. http://forum.joomla.org/viewtopic.php?f=431&t=262604&start=0
Вариант 2. В файле administrator\components\com_users\models\user.xml добавить
Код: xml
<param name="status" type="radio" default="1" label="Status" description="DESCRIPTION">
           <option value="1">Customer</option>
           <option value="2">Partner</option>
         </param>
В алминке в параметрах пользователя появяться радиоселекты.
Потом извелекать эти параметры и проверять
Код: php
$user = JFactory::getUser();
$params = $user->getParam('status','');
if ($params == ''){
echo "Гость";
};
if ($params == '1'){
echo "Клиент";
};
if ($params == '2'){
echo "Партнер";
};
Выбор варианта зваисит от задачи.
« Последнее редактирование: 10.03.2010, 13:36:47 от Lex »
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Lex, спасибо огромное! Всё заработало как надо! :-*

*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Только появился вопрос, как вместо радиопереключателей отобразить селектовый список?
Попробовала просто вписать в type вместо radio слово select - не работает

И ещё почему-то когда создаёшь после этого кода

Код
<param name="status" type="radio" default="1" label="Status" description="DESCRIPTION">
           <option value="1">Customer</option>
           <option value="2">Partner</option>
         </param>
 


ещё один к примеру вот такой:

Код
<param name="status" type="radio" default="1" label="City" description="DESCRIPTION">
           <option value="london">London</option>
           <option value="newyork">New York</option>
         </param>
 

то у всех четырёх радиоселектов (Customer, Partner, London, New York) образуется общая связь и выбрать можно только либо пункт Partner либо пункт New York, а независимо выбирать нельзя отдельно по статусу и отдельно по городу, почему так происходит?
« Последнее редактирование: 11.03.2010, 18:30:05 от Negative »
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
и не будет работать. ставьте list
Standard parameter types
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
вышеназванные проблемы решены  ^-^
SmokerMan, спасибо :-*

Хотя один момент непонятный есть ^-^
Когда сохраняешь настройки юзера, и потом сразу же заново заходишь в его редактирование то отмеченного радиоселекта Customer нет, ни один радиоселект не выбран
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Когда сохраняешь настройки юзера, и потом сразу же заново заходишь в его редактирование то отмеченного радиоселекта Customer нет, ни один радиоселект не выбран
Кэш включен?
Возможно просто кэшируется.
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
SmokerMan, нет, кэш выключен

И ещё один непонятный момент есть
Когда я в PHP пытаюсь указать в условии дополнительный критерий, к примеру такой

Код
$user = JFactory::getUser();
$params = $user->getParam('status','');
if ($params == ''){
echo "Гость";
};
if ($params == '1'){
echo "Клиент";
};
if ($params == '2') && ($params == 'london'){
echo "Партнер";
};

то выводится следующая ошибка:
Parse error: parse error in C:\xampp\htdocs\JOOMLA3\templates\siteground-j15-71\index.php on line 9

[size=8]9-я строка это строка "if ($params == '2') && ($params == 'london'){"[/size]
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Код: php
$user = JFactory::getUser();
$params = $user->getParam('status','');
if ($params == '') {
echo 'Гость';
}
if ($params == '1') {
echo 'Клиент';
}
if (($params == '2') && ($params == 'london')) {
echo 'Партнер';
}
кто вас учил ставить точку с запятой после закрывающей скобки условия :)

По поводу последнего условия - как это одновременно переменная $params может быть и 2 и london по значению? Наверно имелось в виду условие ИЛИ - тогда надо не && а ||
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Никто не учил, просто скопировала код из сообщения Lex и даже не обратила внимание  ^-^

А по поводу условия - поняла свою ошибку, но мне действительно нужно условие И
Нужно будет идентифицировать партнёра именно из конкретного города, только вот как это сделать непонятно :dry:
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А по поводу условия - поняла свою ошибку, но мне действительно нужно условие И
одна переменная никак не может хранить в один момент времени два значения, это же не массив к элементам которого вы обращаетесь (вас же не могут одновременно звать и Вася и агент007)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
:)
Нужно будет идентифицировать партнёра именно из конкретного города, только вот как это сделать непонятно :dry:
ну для этого минимум две переменные нужны, если я правильно понял.
Делайте еще один параметр, раз уж такая пляска :)

бзз
beliyadm опередил :)

Да добавлю еще.
Поставьте лучше что-нибудь на подобии CB, я думаю так будет проще для всех ;)
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
а как черех XML передать в пхп-код значение города в данном случае?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
а как черех XML передать в пхп-код значение города в данном случае?
мм, еще раз и подробнее
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
Ну вот в посте Lexa во втором варианте показано как можно в файле user.xml создать значения param

А потом в PHP коде уже задать условия относительно значения полученной переменной

Вот как мне в файле user.xml создать переменную, которая будет описывать город (а не статус пользователя) и задем в PHP коде где-нибудь получить эту уже вторую переменную
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
кто вас учил ставить точку с запятой после закрывающей скобки условия :)
Я учил.   crazy! Ибо был слегка пьян.  ;D
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Negative

  • Захожу иногда
  • 157
  • 5 / 0
и всё-таки) как же мне передать в PHP возможность идентифицировать город?)
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Делайте еще один параметр, раз уж такая пляска :)
По аналогии
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться