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

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Не получается вставить в админке в карточке товара поле type="media", выдает ошибку
Цитировать
Fatal error: Call to a member function getValue() on null in /home/joj/site.ru/www/libraries/src/Form/Field/MediaField.php on line 196
Пробовал так:
Код
JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2->setup(new SimpleXMLElement('<field name="name_field" type="media" asset_field="name_field" asset_id="" created_by="" directory="images" link=""/>'), $product->name_field);

Может кто подскажет что не так?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
del. Ошибся.
« Последнее редактирование: 01.10.2017, 14:03:50 от draff »
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
В Джумла 3 function get()
И что это значит? Что-то не доходит тайный смысл вашего ответа... Может поясните подробнее?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вы не передавали объект JForm в $field2. Попробуйте так
Код
$field2 = new JFormFieldMedia(JForm $ваша_форма);
или
Код
$field2 = new JFormFieldMedia();
$field2->setForm($ваша_форма);
« Последнее редактирование: 01.10.2017, 11:45:14 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Вы не передавали объект JForm в $field2. Попробуйте так
Код
$field2 = new JFormFieldMedia(JForm $ваша_форма);
Выдает такую же ошибку
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Обновил предыдущий пост.
Смысл в том, что вызывается функция getValue(), а сам объект Jform не определен.
« Последнее редактирование: 01.10.2017, 11:54:01 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Результат - Пустой экран
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Код приведите.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Вот:
Код
JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2->setForm($adminForm);
$field2->setup(new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>'), $product->bgimg2);
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Вроде нормально выглядит. Что var_dump($field2) показывает?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Раньше в другом аддоне добавлял радио кнопки, работает без указания формы, а именно MediaField такие проблемы... может неправильно подключаю?

Код
jimport( 'joomla.src.form.field.MediaField' )
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Еще раз посмотрел ваш код и пришел к выводу, что он работать не будет. Смотрите: вызывается $adminForm->getValue(), которая, в свою очередь, делает выборку из $adminForm->data, а в $adminForm->data изначально не было загружено ваше новое поле.
Мне кажется, вам нужно добавить поле по-другому.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Тогда вопрос как? Радио кнопки работают, imagelist тоже, а media не работает.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте
Код
$adminForm->setField(SimpleXMLElement $xml_вашего_поля); 
// и если нужно
$adminForm->setValue($имя_вашего_поля, $group, $value);
Не будь паразитом, сделай что-нибудь самостоятельно!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте
Код
$adminForm->setField(SimpleXMLElement $xml_вашего_поля); 
// и если нужно
$adminForm->setValue($имя_вашего_поля, $group, $value);
У себя проверил - работает. А у вас, @kit2m2?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Еще не проверял. Вчера уже поздно было... (утро вечера мудренее...). Спасибо за помощь. Сегодня попробую, отпишусь.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
robert, не могли бы Вы привести полный код. Видимо что-то делаю не так, опять ошибка.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Я тестировал в своем компоненте.
Код
$new_media_field = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link="" label="New Media Field"/>');
$this->form->setField($new_media_field);
...
                <div class="control-group">
                    <div class="control-label"><?php echo $this->form->getLabel('bgimg2'); ?></div>
                    <div class="controls"><?php echo $this->form->getInput('bgimg2'); ?></div>
                </div>
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Да в любом другом компоненте это работает, а в JoomShopping - нет. Но все равно попробую, спасибо. Пока решил вопрос с помощью "imagelist", оно работает...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Что так:
Код
	JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2 = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>');
$this->form->setField($field2);
Что так:
Код
	JFormHelper::loadFieldClass('media');
$field2 = new JFormFieldMedia();
$field2 = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>');
$adminForm->setField($field2);
Одна и та же ошибка:
Цитировать
Fatal error: Call to a member function setField() on null in /home/joj/SITE.ru/www/plugins/jshoppingadmin/bgimg_product/bgimg_product.php on line 49
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Код
$field2 = new JFormFieldMedia();
надо создать объект формы и передать его при создании поля
это вроде появилось только в 3.8
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Что так:
Что так:
Одна и та же ошибка:
Где и как определены $this->form или $adminForm?
Код
$this->form = JForm::getInstance('products', '<form><fieldset></fieldset></form>', array('control' => '', 'load_data' => true), false, false);
$new_media_field = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link="" label="New Media Field"/>');
$this->form->setField($new_media_field);

...

echo $this->form->getLabel('bgimg2');
echo $this->form->getInput('bgimg2');
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
И? В предыдущих версиях Joomla это тоже работало в JoomShoping, с другими типами полей.
Я это и написал вот только не работает в JoomShoping...
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Где и как определены $this->form или $adminForm?
Это форма редактирования товара, поле уже в этой форме выводиться (через аддон).
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не будь паразитом, сделай что-нибудь самостоятельно!
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Ура, заработало :D

Получилось так:
Код
	$this->form = JForm::getInstance('products', '<form><fieldset></fieldset></form>', array('control' => '', 'load_data' => true), false, false);
JFormHelper::loadFieldClass('media');
$field2 = new SimpleXMLElement('<field name="bgimg2" type="media" asset_field="" asset_id="" created_by="" directory="images" link=""/>');
$this->form->setField($field2);

Вот только не сохраняет выбор, наверное формат столбца в базе нужно менять.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Нет, посмотрел в базе сохраняет... Выбранное изображение не сохраняется в адинке карточки товара, поле сохранения товара - в поле пусто.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

kit2m2

  • Живу я здесь
  • 3372
  • 276 / 0
  • Беру сайты на полное сопровождение
Получилось так:
Код
$this->form->setValue('bgimg2', null, $product->bgimg2);
« Последнее редактирование: 02.10.2017, 15:42:56 от kit2m2 »
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Уведомление о превышении доступного количества товара

Автор goga_pgasovav

Ответов: 1
Просмотров: 1851
Последний ответ 03.02.2025, 18:48:10
от kit2m2
Артикул или код товара?

Автор goga_pgasovav

Ответов: 3
Просмотров: 1987
Последний ответ 28.11.2024, 19:03:59
от goga_pgasovav
Не сохраняется порядок товаров в админке

Автор heartlink

Ответов: 7
Просмотров: 2799
Последний ответ 08.10.2024, 10:24:02
от kit2m2
Странная задача: получить псевдоним товара по его ID в шаблоне статьи

Автор goga_pgasovav

Ответов: 4
Просмотров: 2423
Последний ответ 04.07.2024, 13:06:45
от goga_pgasovav
Ошибка при изменении статуса товара

Автор itbc

Ответов: 4
Просмотров: 2093
Последний ответ 08.05.2024, 10:31:16
от itbc