Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Если на вашем сайте установлен VirtueMart версии ниже 2.6.10, то срочно обновляйтесь! В версиях ниже 2.6.10 была найдена серьезная уязвимость, позволяющая злоумышленнику получить права Суперпользователя.

http://joomlaportal.ru/news/security/2477-v-virtuemart-najdena-sereznaya-uyazvimost

Про ветку 1.x ничего сказать не могу. Уязвимость вроде как связана с классом JUser и передачей в него непроверенных данных. Возможно в ветке 1.x это тоже есть, но по этому вопросу нигде нет информации.
*

fsv

  • Moderator
  • 2781
  • 410 / 2
12.09.2014 в новостях VirtueMart.net появилась новая статья - SECURITY RELEASE OF VM2.6.10 AND VM2.9.9B
Полную версию новости можете прочесть по ссылке, здесь сообщу суть.

Если вы используете версию VirueMart ниже, чем 2.6.10, вам необходимо срочно обновиться.
Была обнаружена критическая уязвимость, которая была исправлена в рекордно короткие сроки.
Версии 2.6.10 (stable version) и 2.9.9b (in RC state) устраняют эту проблему.


Если вы не можете обновить VirtueMart, есть два способа устранения уязвимости:

1) Замените файл модели user.php
Самый простой способ – это скачать новые версии (2.6.10 или 2.9.9b), взять оттуда соответствующий файл и заменить свой по следующему пути:
/administrator/components/com_virtuemart/models/user.php

2) Изменение файла модели user.php
Если у вас в этот файл ранее были внесены изменения, и вы не можете его полностью заменить, внесите в него следующие изменения:
в файле /administrator/components/com_virtuemart/models/user.php
найдите  function store(&$data,$checkToken = TRUE) и добавьте в начале функции следующие строки:
Код: php
unset($data['isRoot']);
unset($data['groups']);
unset($data['_authGroups']);

Эта проблема относится не только к VirtueMart. Она может быть в любом стороннем расширении Joomla. Если разработчики используют модель Joomla без формы, в которой осуществляется фильтрация введенных данных, они должны позаботится о фильтрации самостоятельно, иначе есть возможность переопределить внутренние переменные объекта.

Как следует из контекста статьи, разработчики Joomla пока не прислушались к мнению разработчиков VM о том, что модель должна быть безопасна сама по себе, без использования вида или контроллера, и не согласны вносить изменения в JUser. Их аргументация: «Нет никаких проблем, пока вы используете Joomla Form.».
Веб-разработка: заказ. Только новая разработка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как собрать инсталлятор VirtueMart 4 самостоятельно вручную из репозитория

Автор okrym

Ответов: 0
Просмотров: 2680
Последний ответ 31.05.2023, 02:36:06
от okrym
Регистрация через VirtueMart

Автор cmd2017

Ответов: 8
Просмотров: 3068
Последний ответ 03.11.2019, 20:58:18
от Viclingvolive
Выход новой версии Virtuemart

Автор mmc

Ответов: 99
Просмотров: 7761
Последний ответ 25.09.2019, 23:24:15
от yrygvay
Обновление VirtueMart 3.2.14 до 3.4.0

Автор Stasweb

Ответов: 1
Просмотров: 3627
Последний ответ 20.09.2018, 21:48:47
от Sandruk1
Joomla + VirtueMart

Автор tromba

Ответов: 6
Просмотров: 3073
Последний ответ 07.09.2018, 18:13:21
от voland