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

monitorlab

  • Новичок
  • 7
  • 0 / 0
Решение относится к Joomla! 1.0 (возможно, будет работать в Joostina).

В этом FAQ по Joostina написано следующее:

Цитировать
Вопрос: Как узнать id материала, категории, раздела?
Ответ: В Joostina (как и в Joomla!) страницы не пронумерованы. Можно только узнать id материала в режиме его просмотра, id раздела или категории в режиме их просмотра, и т.д.

Это неверно. На самом деле страницы как раз пронумерованы (id материала! ;) )
А в переменной $GLOBALS хранится нужная информация, надо лишь только ее добыть. Если посмотреть var_dump'ом ее содержимое, можно найти в этом массиве элемент "cache":
Код
var_dump($GLOBALS['cache'];

Он представляет собой объект, у которого есть метод "_cache", который возвращает другой объект, у которого есть метод "_id". Этот последний метод возвращает очень интересную строку, содержащую массу полезных сведений. В том числе, интересующий нас id категории. Вот ее фрагмент:
Код
"23";s:4:"mask";s:1:"0";s:5:"catid";s:3:"105";s:7:"created";s:19:"2011-07-22 17:06:20";
Внимание! Эта строка содержит HTML-код материала, так что если будете в ней копаться, сделайте тестовый материал из одного символа. В нем и смотрите.

Нас интересует конкретный фрагмент, явно описывающий id категории:
Код
"catid";s:3:"105"

"catid" - это явно имя интересующего нас параметра,
s:3 - очевидно, тип данных строка, длина 3 символа,
"105" - а это и есть искомый номерочек категории.

Добываем эту строку:
Код
$doc_properties = $GLOBALS['cache']->_cache->_id;

Далее нужно выдернуть этот номер с помощью регулярного выражения:
Код
$pattern = "/(?<=\"catid\";s:\d:\")\d+/";
preg_match_all($pattern, $doc_properties, $matches);
$cat_id_detected = $matches[0][0];

Этот код можно втыкать в самое начало шаблона, и далее использовать переменную $cat_id_detected для своих целей.

Аналогично можно добыть id раздела, имя раздела или категории, а также многое другое. В мануале по PHP есть очень хорошая статья "Синтаксис регулярных выражений". Можно там почитать, как создать несложный паттерн.

P.S. Возможно, есть более элегантный способ, или менее затратный по ресурсам сервера. Может быть, лучше обратиться к соответствующему классу. У меня не получилось сходу найти его имя. Я в этом плохо разбираюсь, я не программист. Буду рад, если меня поправят сведущие люди.
« Последнее редактирование: 22.07.2011, 21:17:49 от monitorlab »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

"Персональные" CSS для каждого пункта меню

Автор mdd

Ответов: 13
Просмотров: 9420
Последний ответ 28.04.2006, 11:18:34
от raduga