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

Dark19

  • Новичок
  • 4
  • 0 / 0
Модуль Обратная связь
« : 09.10.2014, 19:11:19 »
Здравствуйте, перед мною стояла задача размещения 2 форм обратной связи с разными полями на одной странице, но я не нашел подходящего готового модуля и решил создать его сам вписав сразу в него свой дизайн. У меня все получилось, все работает, но есть один недочет: данный модуль отправляет два одинаковых письма на почту(я так подозреваю это потому, что в админке нужно создавать 2 модуля для вывода 2 форм и давать одной номер один, а второй 2 в меню модуля). Как сделать, чтобы приходило только одно письмо? Или может посоветуете уже какой-то готовый модуль, чтобы можно было на одной странице разместить 2 разные формы обратной связи и не сложно было вписать свой дизайн в него.
Вот код самого модуля:

Код
<?php
//Если форма отправлена
$doc = JFactory::getDocument();

if(isset($_POST['1'])) {

        $number = 1;
        $subject = "Швидкий зв'язок";
        //Проверка Поля ИМЯ
        if(trim($_POST['name']) == '') {
            $hasError = true;
        } else {
            $name = trim($_POST['name']);
        }

        //Проверка правильности ввода EMAIL
        if(trim($_POST['email']) == '')  {
            $hasError = true;
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
            $hasError = true;
        } else {
            $email = trim($_POST['email']);
        }
    if(trim($_POST['name']) == '') {
        $hasError = true;
    } else {
        $name = trim($_POST['name']);
    }

        $tel = trim($_POST['tel']);
        $company = trim($_POST['company']);


        //Проверка наличия ТЕКСТА сообщения
        if(trim($_POST['message']) == '') {
            $hasError = true;
        } else {
            if(function_exists('stripslashes')) {
                $message = stripslashes(trim($_POST['message']));
            } else {
                $message = trim($_POST['message']);
            }
        }

        //Если ошибок нет, отправить email
        if(!isset($hasError)) {
            $emailTo = $params->get('mail'); //Сюда введите Ваш email
            $body = "Ім'я: $name \n\nE-mail: $email \n\nКомпанія: $company \n\nТелефон: $tel \n\nПовідомлення:\n $message";
            $headers = 'Повідомлення для <'.$emailTo.'>' . "\r\n" . 'від: ' . $email;

            mail($emailTo, $subject, $body, $headers);
            $emailSent = true;
        }
    }
elseif(isset($_POST['2'])) {
        $number = 2;
        $subject = "Заявка на послугу бізнес-консультація";
        //Проверка Поля ИМЯ
        if(trim($_POST['name']) == '') {
            $hasError = true;
        } else {
            $name = trim($_POST['name']);
        }


        //Проверка правильности ввода EMAIL
        if(trim($_POST['email']) == '')  {
            $hasError = true;
        } else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
            $hasError = true;
        } else {
            $email = trim($_POST['email']);
        }
        $tel = trim($_POST['tel']);
        $company = trim($_POST['company']);


    //Если ошибок нет, отправить email
        if(!isset($hasError)) {
            $emailTo = $params->get('mail'); //Сюда введите Ваш email
            $body = "Ім'я: $name \n\nE-mail: $email \n\nТелефон: $tel";
            $headers = 'Повідомлення для <'.$emailTo.'>' . "\r\n" . 'від: ' . $email;

            mail($emailTo, $subject, $body, $headers);
            $emailSent = true;
        }
    }


require jModuleHelper::getLayoutPath('mod_pbforms',$params->get('layout','default'));

?>

а вот код шаблона default:

Код
<?php

defined('_JEXEC') or die;?>
<div class="feedback">
    <?php


    if($params->get('number') == 1) {
        if($number == 1){
            if(isset($hasError)) { //Если найдены ошибки ?>
                <p class="error">Перевірте правильність заповнення полів.</p>
            <?php } ?>

            <?php if(isset($emailSent) && $emailSent == true) { //Если письмо отправленл ?>
                <p><strong>Лист успішно відправлений!</strong></p>
                <?php }
        }
?>
    <h2>Швидкий зв'язок</h2>
    <form method="post" name="form1">
        <p>Ім'я<span>*</span></p>
        <input type="text" name="name" placeholder="Ім'я" required=""/>
        <p>Компанія</p>
        <input type="text" name="company" placeholder="Компанія" />
        <p>E-mail<span>*</span></p>
        <input type="email" name="email" placeholder="E-mail" required=""/>
        <p>Телефон</p>
        <input type="tel" name="tel" placeholder="Телефон"/>
        <p>Текст повідомлення<span>*</span></p>
        <textarea name="message" placeholder="Текст повідомлення" required=""></textarea>
        <button type="submit" name="1">Відправити</button>
    </form>

    <?php }

if($params->get('number') == 2){
    if($number == 2){
        if(isset($hasError)) { //Если найдены ошибки ?>
            <p class="error">Перевірте правильність заповнення полів.</p>
        <?php } ?>

        <?php if(isset($emailSent) && $emailSent == true) { //Если письмо отправленл ?>
            <p><strong>Заявка успішно відправлена!</strong></p>
        <?php }
    }?>

        <h2>Заявка на послугу<br/>бізнес-консультація</h2>
        <form method="post" name="form2">
            <img src="<?php echo JUri::base();?>templates/<?php echo $doc->template;?>/img/free.png" alt=""/>
            <b>Перша консультація<br/> безкоштовна!</b>
            <p>Ім'я<span>*</span></p>
            <input type="text" name="name" placeholder="Ім'я" required=""/>
            <p>E-mail<span>*</span></p>
            <input type="email" name="email" placeholder="E-mail" required=""/>
            <p>Телефон</p>
            <input type="tel" name="tel" placeholder="Телефон"/>
            <button type="submit" name="2">Відправити</button>
        </form>


<?php }?></div>
« Последнее редактирование: 09.10.2014, 19:19:23 от Dark19 »
*

aspidy

  • Завсегдатай
  • 1008
  • 55 / 1
  • Миграция joomla 1.0-1.5-2.5
Re: Модуль Обратная связь
« Ответ #1 : 10.10.2014, 07:42:08 »
В стандартном компоненте это не предусмотрено. Подойдет любой продвинутый компонент обратной связи. Например RSForm или ChronoForms
Мелкий ремонт. skype poisk-plus
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает GTranslate модуль

Автор rapsila

Ответов: 19
Просмотров: 3573
Последний ответ 06.09.2022, 22:52:02
от rapsila
Как сделать модуль на полный экран? Подробнее в в теме?

Автор 62411

Ответов: 3
Просмотров: 1789
Последний ответ 23.02.2022, 20:35:06
от marksetter
Не отображается модуль html код

Автор 62411

Ответов: 20
Просмотров: 2113
Последний ответ 23.02.2022, 05:34:09
от 62411
Необходимо расширение (модуль) для карточки товара: обзор 360

Автор Yarilo88

Ответов: 25
Просмотров: 2294
Последний ответ 27.03.2019, 14:51:48
от effrit
Категория как ссылка на модуль

Автор PyCu4

Ответов: 4
Просмотров: 1346
Последний ответ 23.01.2019, 13:57:08
от PyCu4