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

bonny

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Код
<?php

 /**
 * @package Joomla.Site
 * @subpackage com_contact
 * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */
defined('_JEXEC') or die;
JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidation');
JHtml::_('behavior.tooltip');
 if (isset($this->error)) : ?>
<div class="contact-error">
<?php echo $this->error; ?>
</div>
<?php endif; ?>

<div class="contact-form">
<form id="contact-form" action="<?php echo JRoute::_('index.php'); ?>" method="post" class="form-validate" style="overflow-x: hidden !important">

<input type="hidden" name="nospam:blank" value="" style="overflow-x: hidden !important"/>

<div class="input-field col s6">
<input id="last_name" type="text" class="validate required" name="jform[contact_name]">
<label for="last_name">Ваше имя <span class="required">*</span></label>
</div>

<div class="input-field col s12">
<input id="email" type="email" name="jform[contact_email]" class="validate required">
<label for="email" data-error="неверно" data-success="правильно">Email <span class="required">*</span></label>
</div>

<div class="input-field col s12">
<textarea id="textarea1" class="materialize-textarea required" name="jform[contact_message]" value=""></textarea>
<label for="textarea1 text">Сообщение <span class="required">*</span></label>
</div>

<div class="control-group">
<div class="controls">
<div align="center"><input class="btn submit_button" type="submit" id="sendButton" disabled="disabled" value="Отправить" onclick="eventAfterSend()" /></div>
<input type="hidden" name="option" value="com_contact" />
<input id="topic" type="hidden" class="validate required" name="jform[contact_subject]" value="Обратная связь">
<input type="hidden" name="task" value="contact.submit" />
<input type="hidden" name="return" value="<?php echo $this->return_page;?>" />
<input type="hidden" name="id" value="<?php echo $this->contact->slug; ?>" />
<?php echo JHtml::_( 'form.token' ); ?>
</div>
</div>
</form>

<script>
window.eventAfterSend = function ()
{
window.parent.Materialize.toast('Сообщение отправлено!', 4000);
window.parent.$("#modalMail").modal('close'); /* Закрываем модальное окно*/
window.parent.location.reload(); /* Перезагрузка фрейма */
}
</script>

<!-- Скрипт проверки полей в форме обр связи -->
<script>
var pattern = /^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$/;
$('#email, #last_name, #textarea1').keyup(function(){
$('#sendButton').prop('disabled', !pattern.test($('#email').val()) || $('#last_name').val().length <= 5 || $('#textarea1').val().length <= 5 );
});
</script>
<!-- /Скрипт проверки полей в форме обр связи -->
</div>
Ребята, обратная связь не присылает имя отправителя. В форме она у меня есть.
Присылает такой тест.

Это письмо отправлено с сайта САЙТ от:
Письмо <МЫЛО>

текст письма

Что надо сделать?
*

bonny

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Так кто может ответить?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что надо сделать?
Надо добавить поле "имя отправителя" и/или "тему письма".
Так кто может ответить?
Тот, кто изменил стандартную форму (а может быть, и не только ее).
Не будь паразитом, сделай что-нибудь самостоятельно!
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
Поля для ввода Имени есть, вот они
Код
...
<div class="input-field col s6">
  <input id="last_name" type="text" class="validate required" name="jform[contact_name]">
  <label for="last_name">Ваше имя <span class="required">*</span></label>
</div>
...
Теперь необходимо посмотреть есть ли эти поля в обработчике этой формы (файл который формирует собственно письмо для отправки)
*

bonny

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Где оно находится?
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
смотрите в самом компоненте --- в папке com_contact. По идеи, файл должен находится "близко" возле самой формы
В форме, расположение файла задается здесь action
Код
.... action="<?php echo JRoute::_('index.php'); ?>
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Поля для ввода Имени есть, вот они
Да, не увидел.
Форму обрабатывается контроллером ContactControllerContact, функцией submit():
Код
				<input type="hidden" name="task" value="contact.submit" />
Что вы вводили в поле "Ваше имя"? Возможно, значение поля очищается при фильтровании.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

bonny

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Русское имя ввожу всегда.
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
кирилица или латиница - значения не имеет. Дело в том, что возможно идет обнуление поля или же обработчик формы не включает его в тело письма для отсылки. Тут надо смотреть сам файл обработчика.
Если же это стандарт - можно попробовать поступить следующим образом
а) сделать копию системных файлов сайта (бЭкап)
б) такой же версии Жуумлы (установочной) - заменить файлы com_contact
Не могу предположить результат подмены - но может сработать. Если же нет --- смотреть обработчик формы и искать причину
*

bonny

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Да это стандартный файл.
Я взял код из https://github.com/openshift-quickstart/joomla-example/blob/master/php/components/com_contact/controllers/contact.php и отобразилось имя.
У кого-то есть новый? Тот просто старый 2012 года...
*

bonny

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Странно короче. Я это щас проделал на бекапе сайта на опенсервера.
С сайта самого отправил письмо и запахало и без изменений. Кто-то шалит. Хммм...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Связь картинки и поля

Автор jammad621

Ответов: 0
Просмотров: 988
Последний ответ 31.08.2015, 20:08:07
от jammad621
Модуль Обратная связь

Автор Dark19

Ответов: 1
Просмотров: 1555
Последний ответ 10.10.2014, 07:42:08
от aspidy
Обратная связь свои кодом - проблемы

Автор yuri85

Ответов: 18
Просмотров: 1604
Последний ответ 03.10.2014, 09:54:06
от IzrA
Обратная связь

Автор derenikp

Ответов: 3
Просмотров: 1257
Последний ответ 03.01.2014, 17:28:44
от slavikM
[ответ получен] Мультиязычность: связь между статьями, а не пунктами меню

Автор denxio

Ответов: 3
Просмотров: 1679
Последний ответ 17.06.2013, 14:54:15
от denxio