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

rubiroide

  • Захожу иногда
  • 75
  • 0 / 0
Если при регистрации через СВ оставить все поля пустыми, то появляется сообщение во всплывающем окне (alert):

Цитировать
Пожалуйста введите действительное Пароль:.  Без пробелов, более чем 6 знаков и содержащее 0-9,a-z,A-Z
Имя * : Это поле обязательно для заполнения!
Фамилия * : Это поле обязательно для заполнения!
Электронная почта *(для входа в систему) : Это поле обязательно для заполнения!
Пароль * : Это поле обязательно для заполнения!
Повторите пароль * : Это поле обязательно для заполнения!

При этом страница не перегружается. Как я понял работает ява скрипт, который проверяет заполнены ли поля и выдает сообщение если надо.
Подскажите как сделать, чтобы сообщения об ошибке выдавались после перезагрузки страницы и не в виде всплывающего окна, а на самой странице, как это реализовано при стандартной регистрации?
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: Сообщения при регистрации
« Ответ #1 : 14.03.2011, 00:32:20 »
какая версия СВ у Вас и где ее скачивали? на официальной 1.4 у Вас должна быть такая картина:

# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

rubiroide

  • Захожу иногда
  • 75
  • 0 / 0
Re: Сообщения при регистрации
« Ответ #2 : 14.03.2011, 00:36:03 »
Ваша версия :    1.3.1

А где качал сейчас и не припомню.

Мешает вот это:
Код
  <script type="text/javascript" src="/xxxxxxx.ru/media/system/js/core.js"></script>
  <script type="text/javascript" src="/xxxxxxx.ru/media/system/js/mootools-core.js"></script>
  <script type="text/javascript" src="/xxxxxxx.ru/media/system/js/mootools-more.js"></script>

  <script type="text/javascript" src="http://localhost/xxxxxxx.ru/components/com_comprofiler/js/cb12.min.js?5013d5f8879620135d1d8e229ad1809e"></script>
<script type="text/javascript" src="http://localhost/xxxxxxx.ru/components/com_comprofiler/js/overlib_all_mini.js"></script><script type="text/javascript"><!--
overlib_pagedefaults(WIDTH,250,VAUTO,RIGHT,AUTOSTATUSCAP, CSSCLASS,TEXTFONTCLASS,'cb-tips-font',FGCLASS,'cb-tips-fg',BGCLASS,'cb-tips-bg',CAPTIONFONTCLASS,'cb-tips-capfont', CLOSEFONTCLASS, 'cb-tips-closefont');
--></script>
<script type="text/javascript" src="http://localhost/xxxxxxx.ru/components/com_comprofiler/js/jquery-1.4.4/jquery-1.4.4.min.js"></script><script type="text/javascript"><!--
jQuery.noConflict();
--></script>
<script type="text/javascript"><!--
jQuery(document).ready(function($){
function cbslideImage(choice,uplodid,galleryid) {
if ( ( choice == '' ) || ( choice == 'approve' ) || ( choice == 'delete' ) ) {
$(uplodid).slideUp('slow');
$(galleryid).slideUp('slow');
} else if ( choice == 'upload' ) {
$(uplodid).slideDown('slow');
$(galleryid).slideUp('slow');
} else if ( choice == 'gallery' ) {
$(uplodid).slideUp('slow');
$(galleryid).slideDown('slow');
}
}
$('#cbimg_upload_avatar,#cbimg_gallery_avatar').hide();
{
 $('#avatar__choice').click( function() {
cbslideImage( $(this).val(), '#cbimg_upload_avatar', '#cbimg_gallery_avatar' );
 } ).click();
 $('#avatar__choice').change( function() {
cbslideImage( $(this).val(), '#cbimg_upload_avatar', '#cbimg_gallery_avatar' );
 } );
}
var cbDefaultFieldBackground;
function cbFrmSubmitButton() {
var me = this.elements;
var r = new RegExp("[\<|\>|\"|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
var errorMSG = '';
var iserror=0;
if (cbDefaultFieldBackground === undefined && typeof(me['username'])!='undefined') cbDefaultFieldBackground = ((me['username'].style.getPropertyValue)? me['username'].style.getPropertyValue("backgroundColor") : me['username'].style.backgroundColor);
if (typeof(me['username'])!='undefined' && me['username'].value == "") {
errorMSG += "Пожалуйста введите Ваше имя пользователя.\n";
me['username'].style.backgroundColor = "red";
iserror=1;
} else if (typeof(me['username'])!='undefined' && ( r.exec(me['username'].value) || (me['username'].value.length < 3))) {
errorMSG += "Пожалуйста введите действительное Имя пользователя:.  Без пробелов, более чем 2 знаков и содержащее 0-9,a-z,A-Z\n";
me['username'].style.backgroundColor = "red";
iserror=1;
} else if (typeof(me['username'])!='undefined' && me['username'].style.backgroundColor.slice(0,3)=="red") { me['username'].style.backgroundColor = cbDefaultFieldBackground;
}
if (typeof(me['password'])!='undefined' && me['password'].value.length < 6) {
errorMSG += "Пожалуйста введите действительное Пароль:.  Без пробелов, более чем 6 знаков и содержащее 0-9,a-z,A-Z\n";
me['password'].style.backgroundColor = "red";
iserror=1;
} else if (typeof(me['password'])!='undefined' && (me['password'].value != "") && (me['password'].value != me['password__verify'].value)){
errorMSG += "Пароли не соответствуют. Пожалуйста попробуйте еще раз.\n";
me['password'].style.backgroundColor = "red"; me['password__verify'].style.backgroundColor = "red";
iserror=1;
} else if (typeof(me['password'])!='undefined') {
if (me['password'].style.backgroundColor.slice(0,3)=="red") me['password'].style.backgroundColor = cbDefaultFieldBackground;
if (me['password__verify'].style.backgroundColor.slice(0,3)=="red") me['password__verify'].style.backgroundColor = cbDefaultFieldBackground;
}
// loop through all input elements in form
var fieldErrorMessages = new Array;
for (var i=0; i < me.length; i++) {
// check if element is mandatory; here mosReq="1"
var myenabled = (typeof(me[i].getAttribute('mosNoReq')) == 'undefined' ) || (me[i].getAttribute('mosNoReq')!= 1);
var mytyp = me[i].getAttribute('type');
var myact = myenabled && mytyp != 'reset' && mytyp != 'button' && mytyp != 'submit' && mytyp != 'image';
if ( myact && (typeof(me[i].getAttribute('mosReq'))!= "undefined") && ( me[i].getAttribute('mosReq') == 1) ) {
if (me[i].type == 'radio' || me[i].type == 'checkbox') {
var rOptions = me[me[i].getAttribute('name')];
var rChecked = 0;
if(rOptions.length > 1) {
for (var r=0; r < rOptions.length; r++) {
if ( (typeof(rOptions[r].getAttribute('mosReq'))!= "undefined") && ( rOptions[r].getAttribute('mosReq') == 1) ) {
if (rOptions[r].checked) {
rChecked=1;
}
}
}
} else {
if (me[i].checked) {
rChecked=1;
}
}
if (rChecked==0) {
for (var k=0; k < me.length; k++) {
if (me[i].getAttribute('name') == me[k].getAttribute('name')) {
if (me[k].checked) {
rChecked=1;
break;
}
}
}
}
if (rChecked==0) {
var alreadyFlagged = false;
for (var j = 0, n = fieldErrorMessages.length; j < n; j++) {
if (fieldErrorMessages[j] == me[i].getAttribute('name')) {
alreadyFlagged = true;
break
}
}
if ( ! alreadyFlagged ) {
fieldErrorMessages.push(me[i].getAttribute('name'));
// add up all error messages
errorMSG += me[i].getAttribute('mosLabel') + ' : Это поле обязательно для заполнения!\n';
// notify user by changing background color, in this case to red
me[i].style.backgroundColor = "red";
iserror=1;
}
} else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
}
if (me[i].value == '') {
// add up all error messages
errorMSG += me[i].getAttribute('mosLabel') + ' : Это поле обязательно для заполнения!\n';
// notify user by changing background color, in this case to red
me[i].style.backgroundColor = "red";
iserror=1;
} else if (me[i].style.backgroundColor.slice(0,3)=="red") me[i].style.backgroundColor = cbDefaultFieldBackground;
}
}
if(iserror==1) {
alert(errorMSG);
return false;
} else {
return true;
}
}
$('#cbcheckedadminForm').submit( cbFrmSubmitButton );

$("#cbcheckedadminForm input[type!='hidden']:first").filter("[type='text'],textarea,[type='password']").focus();});
--></script>

*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: Сообщения при регистрации
« Ответ #3 : 14.03.2011, 00:42:40 »
скачивайте с официального сайта СВ 1.4, и ставьте ее поверх существующей 1.3.1. там же, на официальном, скачайте плагин русской локализации СВ 1.4.1.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

rubiroide

  • Захожу иногда
  • 75
  • 0 / 0
Re: Сообщения при регистрации
« Ответ #4 : 14.03.2011, 00:50:24 »
У меня на 1.6 что-то не пошло. Пробовал...
*

rubiroide

  • Захожу иногда
  • 75
  • 0 / 0
Re: Сообщения при регистрации
« Ответ #5 : 14.03.2011, 01:14:04 »
Поставил. Ничего не поменялось. На 1.4 тоже работает аналогичный скрипт. Страница не перегружается, сразу показывает что не заполнено. Мне нужно, чтобы ошибки выдавались как в стандартной регистрации, после перезагрузки страницы.
*

rubiroide

  • Захожу иногда
  • 75
  • 0 / 0
Re: Сообщения при регистрации
« Ответ #6 : 14.03.2011, 01:52:27 »
Удалил из comprofiler.html.php все скрипты, проверил на слова "alert", их нет. Страница стала перегружаться, ошибки стали выдаваться на страницу, только они опять прописаны внутри <script> alert...
Подскажите, пожалуйста, в каком файле еще покапать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Возможность сделать разные типы регистрации

Автор kurz

Ответов: 0
Просмотров: 4496
Последний ответ 03.11.2022, 12:04:04
от kurz
Убрать имя (настоящее) при регистрации и в личном кабинете

Автор Vlad1

Ответов: 6
Просмотров: 3289
Последний ответ 27.09.2022, 22:01:21
от Vlad1
Есть ли 100% рабочая CAPTCHA для регистрации CB 2.0.4?

Автор Torchez

Ответов: 27
Просмотров: 5913
Последний ответ 15.03.2016, 23:33:15
от Bmw258
Выбор Joomla группы при регистрации в CommunityBuilder

Автор andrewbubblegum

Ответов: 9
Просмотров: 5064
Последний ответ 04.03.2016, 12:26:31
от dimasan57
Вывод формы регистрации CB 2.0 Joomla 3

Автор createzone

Ответов: 1
Просмотров: 3082
Последний ответ 27.02.2016, 18:46:05
от createzone