Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Здравствуйте!

При регистрации в VirtueMart поле Password перестало быть обязательным, т.е. если его не заполнять регистрация завершается успехом.

В настройках VM -> "Поля, заполняемые пользователями"  у поле Password отмечен параметр что данное поле является обязательным к заполнению.

На выходе в HTML у поля Password нет никаких required атрибутов и выглядит:
<input type="password" id="password_field" name="password" size="30" class="validate-password  inputbox" placeholder="Пароль" aria-invalid="false">

Для сравнение поле E-mail которое тоже обязательное имеет следующий вид:
<input type="email" id="email_field" name="email" size="30" value="" class="required validate-email" maxlength="100" placeholder="Электронная почта" aria-required="true" required="required">

Предпринимал следующее:

  • Отключил все доп. оформление, скрипты и все переопределенные шаблоны Virtuemart.
  • Отключил все дополнительные плагины и модули Virtuemart.
  • Сменил основной шаблон Joomla на стандартный.

Ничего не помогает, посоветуйте куда копать, в чем может быть проблема/причина?

Или посоветуйте как решить этот вопрос принудительно назначив этому полю параметр, что оно обязательно к заполнению.
Желательно иметь решение которое будет жить после обновлений, т.е. если вносить изменения в PHP, то в файлах которые можно переопределить.
Если нельзя только одному полю, то возможно решение чтобы обязательный параметр поверх штатных настроек добавлялся сразу для всех полей в данной форме т.к. они у меня все обязательные.

Благодарю за ответ!


Joomla! 3.9.26
VirtueMart 3.6.10


UPD

У меня установлен Yjsg Framework при его отключении поле Password даже без required атрибутов становится обязательным и не заполнив его - невозможно завершить регистрацию (выводится стандартное сообщение: "Некорректно заполнено поле: Пароль"), т.е. все начинает работать штатно.

В директории Yjsg Framework (plugins\system\yjsg\legacy\html\com_users\registration) есть переопределенный шаблон регистрации. Изменения в нем не влияют на форму регистрации VM, при этом  на другом сайте на  таком же Framework, но без установленного VirtueMart изменения в переопределенном шаблоне регистрации (который расположен в директории фреймворка), сразу же видны на сайте.

Попытка переопределить шаблон регистрации Joomla в директорию с шаблоном \templates\templat_name\html\com_users\registration не к чему не приводит, изменения в шаблоне не отображаются на сайте.


 
« Последнее редактирование: 29.05.2021, 14:06:45 от Slava77 »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Проверил на сайте клиента, поле не отмечено как и у вас, но не пропускает, выдает ошибку стандартную
Цитировать
Некорректно заполнено поле: Пароль
Некорректно заполнено поле: Повторить пароль
VirtueMart 3.8.2 10325
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Не найдя решения, сделал временный костыль с помощью jquery

$('input[type="password"]').attr('required', 'required')

Поле Password стало обязательным, но в поле с label отсутствует asterisk/звездочка, извратится и добавить её с помощью jquery или CSS конечно можно, но хотелось бы более цивилизованно без костылей решить проблему ^-^

« Последнее редактирование: 29.05.2021, 13:38:37 от Slava77 »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
но в поле с label отсутствует asterisk/звездочка, извратится и добавить её с помощью jquery или CSS конечно можно, но хотелось бы более цивилизованно без костылей решить проблему
Переопределить макет
Код
<?php echo $field['title'] . ($field['required']  ? ' <span class="asterisk">*</span>' : '')?>
<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk">*</span>'
<?php endif; ?>
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Переопределить макет
Код
<?php echo $field['title'] . ($field['required']  ? ' <span class="asterisk">*</span>' : '')?>
<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk">*</span>
<?php endif; ?>


Спасибо за рабочее решение со звездочкой!

Подскажите, а там же после строки:

<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>

Можно как нибудь добавить атрибут required="required" для поля "Password" ?
« Последнее редактирование: 29.05.2021, 18:13:03 от Slava77 »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Код
<td>
<?php
if($field['name'] == "password" || $field['name'] == "password2")  {
echo str_replace('type="password"', 'type="password" required="required" ' , $field['formcode']);
} else echo $field['formcode']; ?>
</td>
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
<?php
if($field['name'] == "password" || $field['name'] == "password2")  {
echo   str_replace('type="password"', 'type="password" required="required" ' , $field['formcode']);
} else echo $field['formcode']; ?>
</td>

Огромное спасибо за рабочее решение!

Я из первого примера строки:

<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk"> *</span>


в label тоже отставил, т.к. после регистрации в личном кабинете, где отображаются поля пользователя не было звездочки не смотря на то, что в Password начал присутствовать required="required".
По логике должна была появиться звездочка в label,  но ее почему-то не было, сейчас все в порядке.   



В форме регистрации также все стало работать как и требовалось! Еще раз большое спасибо за помощь! *DRINK*
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Я из первого примера строки:

<?php if($field['name'] == "password" || $field['name'] == "password2") : ?>
<span class="asterisk"> *</span>

в label тоже отставил,
Ну так и нужно вам. Просто на скрине файл с рабочего сайта, откуда я свой код удалил .
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
Ну так и нужно вам. Просто на скрине файл с рабочего сайта, откуда я свой код удалил .

Я просто думал, раз у поля Passoword появился атрибут required="required" и оно стало обязательным, то на него будет распространятся правило из этой строки и добавляться <span class="asterisk">*</span> :

<?php echo $field['title'] . ($field['required']  ? ' <span class="asterisk">*</span>' : '')?>

Но это почему-то не так  ^-^
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Попытка переопределить шаблон регистрации Joomla в директорию с шаблоном \templates\templat_name\html\com_users\registration не к чему не приводит, изменения в шаблоне не отображаются на сайте.
А сюда переопределить макет, файл со скрина, как я писал выше
templates\templat_name\html\com_virtuemart/user/
*

Slava77

  • Захожу иногда
  • 85
  • 7 / 0
А сюда переопределить макет, файл со скрина, как я писал выше
templates\templat_name\html\com_virtuemart/user/
Это сделано и работает!   У меня вообще почти все шаблоны VM переопределены (корзина, карточка товара, категории, заказы, письма и т.д.) вот сюда templates\templat_name\html\com_virtuemart

Я тогда от безысходности в дебри уже полез пытался переопределить и поменять основную форму регистрации Joomla, но мой  Framework не позволял это сделать, у него свое более главное переопределение, а в переопределенных файлах внутри Framework  делать изменения нет смыла, он обновляется время от времени, все затрется.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться