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

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Здравствуйте! Подскажите, пожалуйста, как эти поля сделать обязательными для заполнения?

Нашел файл, который отвечает за форму добавления материала \templates\название_шаблона\html\com_content\article\form.php
Там, как я понял есть проверка на то, заполнены ли поля

Код
// do field validation
var text = <?php echo $this->editor->getContent( 'text' ); ?>
if (form.title.value == '') {
return alert ("<?php echo JText::_( 'Article must have a title', true ); ?>");
} else if (text == '') {
return alert ("<?php echo JText::_( 'Article must have some text', true ); ?>");
} else if (parseInt('<?php echo $this->article->sectionid;?>')) {
// for articles
if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert("<?php echo JText::_( 'Please select a category', true ); ?>");
}
}

Если я сделаю, допустим, так

Код
// do field validation
var text = <?php echo $this->editor->getContent( 'text' ); ?>
if (form.title.value == '') {
return alert ("<?php echo JText::_( 'Article must have a title', true ); ?>");
} else if (text == '') {
return alert ("<?php echo JText::_( 'Article must have some text', true ); ?>");
} else if (parseInt('<?php echo $this->article->sectionid;?>')) {
// for articles
if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert("<?php echo JText::_( 'Please select a category', true ); ?>");

       } else if (metadesc == '') {
return alert ("<?php echo JText::_( 'Article must have some text', true ); ?>");
       } else if (metakey == '') {
return alert ("<?php echo JText::_( 'Article must have some text', true ); ?>");
}
}

то мне будет выдавать при незаполненых полях "Описание" и "Ключевые слова" "Материал должен содержать текст"?
Если да, то как мне сделать, чтобы выдавало "Описание должно содержать текст", и "Введите ключевые слова", допустим?

Как сделать эти поля обязательными, и чтоб выдавало правильный текст.
И как можно сделать, чтоб еще проверялось наличие линии "Подробнее" перед публикацией?
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Ларчик, как всегда, просто открывался

Код
// do field validation
var text = <?php echo $this->editor->getContent( 'text' ); ?>
if (form.title.value == '') {
return alert ("<?php echo JText::_( 'Article must have a title', true ); ?>");
} else if (text == '') {
return alert ("<?php echo JText::_( 'Article must have some text', true ); ?>");
} else if (form.metadesc.value == '') {
return alert ("<?php echo 'Пожалуйста введите описание'; ?>");
} else if (form.metakey.value == '') {
return alert ("<?php echo 'Пожалуйста введите ключевые слова'; ?>");
} else if (parseInt('<?php echo $this->article->sectionid;?>')) {
// for articles
if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert("<?php echo JText::_( 'Please select a category', true ); ?>");
}
}

Подскажите где искать кнопку "Подробнее"?
*

lustoff

  • Захожу иногда
  • 137
  • 4 / 1
Окончательный вариант

Код
// do field validation
var text = <?php echo $this->editor->getContent( 'text' ); ?>
if (form.title.value == '') {
return alert ("<?php echo JText::_( 'Article must have a title', true ); ?>");
} else if (text == '') {
return alert ("<?php echo JText::_( 'Article must have some text', true ); ?>");
} else if (form.metadesc.value == '') {
return alert ("<?php echo 'Пожалуйста введите описание'; ?>");
} else if (form.metakey.value == '') {
return alert ("<?php echo 'Пожалуйста введите ключевые слова'; ?>");
} else if (form.sectionid && getSelectedValue('adminForm','sectionid') < 1) {
  return alert ("<?php echo 'Пожалуйста выберите раздел'; ?>");
// for articles
} else if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert ("<?php echo JText::_( 'Please select a category', true ); ?>");
} else if (text.search(/system-readmore/) == -1) {
return alert ("<?php echo 'Пожалуйста выберите, где закончится вступление, установив курсор в нужное место и нажав Подробнее'; ?>");
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать JSON-LD микроразметку для Joomla 1.5

Автор Amigo9876

Ответов: 1
Просмотров: 9127
Последний ответ 05.01.2018, 21:54:43
от krot
Проблема с генерацией нового пароля взамен забытого старого в 1.5.16-1.5.17?

Автор ecolora

Ответов: 30
Просмотров: 31241
Последний ответ 08.12.2017, 12:25:27
от Masha2245
Описание на баннере при наведении мышки

Автор Elimelech

Ответов: 1
Просмотров: 1570
Последний ответ 18.07.2017, 16:38:52
от darkghost
Как сделать редирект у всех урезанных url?

Автор NlCK

Ответов: 1
Просмотров: 2101
Последний ответ 03.10.2016, 22:35:23
от SeBun
Как сделать на странице ссылку на скачивание файла с хостинга?

Автор lsd77777

Ответов: 19
Просмотров: 18768
Последний ответ 27.07.2016, 01:58:03
от SokoloWWW