Новости Joomla

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

Проект IV: Обучение с подкреплением на основе отзывов переводчиков.
Joomla собирается использовать автоматический перевод документации. В каждом языке есть свои специфические слова, характерные для Joomla. Предполагается обучать языковые модели, используя обратную связь от переводчиков, чтобы постоянно улучшать качество переводов и учитывать специфические языковые особенности Joomla.

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

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

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
Просмотров: 4726
Последний ответ 06.09.2022, 22:52:02
от rapsila
Как сделать модуль на полный экран? Подробнее в в теме?

Автор 62411

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

Автор 62411

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

Автор Yarilo88

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

Автор PyCu4

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