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

vlmeh

  • Новичок
  • 5
  • 2 / 0
Как сделать все поля обязательными для заполнения (или, соответственно, убрать эту обязательность) в стандартной форме контактов.
Какие файлы редактировать, и где что за что отвечает?
*

vlmeh

  • Новичок
  • 5
  • 2 / 0
Всем спасибо за бурное обсуждение.
Оказалось все довольно таки просто...

В результате глубоких научных исследований Joomla и археологических раскопок интернета вот что мне удалось нарыть:

Вначале давайте разберемся где, что и за что отвечает в данном компоненте:

Форма отправки сообщений - компонент контакты

1. Папка: components/com_contact/views/contact/tmpl/
   - default.php - разметка вывода конкретного контакта и подключение формы обратной связи на этот контакт
   - default_address.php - разметка вывода адресных данных контакта
   - default_form.php - разметка вывода формы обратной связи
   
2. Папка: components/com_contact/views/contact/
   - view.html.php - генерирует ввывод страницы контакты и подключает validate.js (JHTML::_('behavior.formvalidation')
   
3. Папка: components/com_contact/
   - controller.php - генерирует вывод формы (function display())
                - делает проверку вводимых данных по заблокированным e-mail, тексту и т.д. указанных в админке (function _validateInputs())
                - осуществляет отправку данных (function submit())
                - формирует переменную для  вывода системного сообщения (function submit()... $msg = JText::_( 'Thank you for your e-mail')
                - формирует переменную для перенаправления на страницу после отправки сообщения (function submit()... $link = JRoute::_('index.php?option=com_contact&view=contact&id='.$contact->slug.'&catid='.$contact->catslug, false)
               
4. Файлы:
   - language/ru-RU/ru-RU.com_contact.ini - надписи и сообщения на русском
   - media/system/js/validate.js - валидатор форм
   - libraries/joomla/html/html/behavior.php - подключает системные скрипты с помощью класса behavior, в данном случае validate.js (JHTML::_('behavior.formvalidation')
   - templates/шаблон/css/template.css - таблица стилей


Как добавить поле в форму обратной связи подробно описано сдесь http://joomlaforum.ru/index.php/topic,121453.msg664564.html#msg664564

Но нам надо сделать это поле обязательным для заполнения. Сделать это довольно просто - присвоить полю класс 'required'
Код
<input type="text" name="tel" id="contact_tel" size="30" class="inputbox required"  />

Как это работает:
При выводе страницы контакты подключается файл validate.js, который отвечает за правильность заполнения полей формы.
При внимательном рассмотрении этого файла можно увидеть, что в одной из функций он находит поля с классом 'required' и проверяет их, при пустом значении этого поля или неправильном заполнении (для поля e-mail) и т.д.  предотвращает отправку данных с формы, перекрашивает текстовую метку в красный цвет и выводит сообщение.

Т.е. все поля формы с классом 'required' проходят проверку в файле validate.js.

Соответственно, что бы убрать обязательность поля нужно просто удалить этот класс в файле default_form.php

Вот и все, приятного программирования.
*

vipex

  • Захожу иногда
  • 160
  • 1 / 0
нихрена, если убрать параметр в поле е-маил, то письмо не приходит(((

Понял, нужно в контроллер.пшп закомментировать

if (!$email || !$body || (JMailHelper::isEmailAddress($email) == false))
      {
         $this->setError(JText::_('CONTACT_FORM_NC'));
         $this->display();
         //return false;
« Последнее редактирование: 10.02.2011, 07:05:33 от vipex »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Где хранится и где искать что написали в обратной связи ?

Автор Lzrv

Ответов: 0
Просмотров: 1444
Последний ответ 04.12.2017, 21:17:14
от Lzrv
Как проверить форму обратной связи [Решено]

Автор mafiozzzza

Ответов: 8
Просмотров: 6916
Последний ответ 30.05.2017, 11:34:11
от darkghost
Не могу найти где лежат раздел контакты в Joomla

Автор virusvvv

Ответов: 8
Просмотров: 3180
Последний ответ 12.01.2017, 12:50:55
от virusvvv
Как в Joomla создать форму обратной связки со своими полями?

Автор citizenfour

Ответов: 7
Просмотров: 1804
Последний ответ 28.09.2016, 21:42:13
от vipiusss
плагин обратной связи с хорошой защитой от спама!

Автор Meloc987

Ответов: 3
Просмотров: 1700
Последний ответ 23.04.2016, 10:50:21
от flyingspook