Новости Joomla

Новый способ добавления и рендера полей в 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.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

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

ovenm

  • Захожу иногда
  • 101
  • 3 / 0
  • Мы все сможем, если захотим
Подскажите, как в fabrik можно элемент (кнопку,поле ввода,...) скрыть по условию на этапе загрузки формы или при вводе данных, например, от идентификатора юзера.

хотелось бы что нибудь в этом роде
if (this.value=={$my->id}).....

Пробовал скрывать поле с помощью средств закладки javaskript, не заменяется {$my->id}
Хотя в фильтрах таблицы такую конструкцию  ({$my->id}) успешно использую.

Спасибо.
« Последнее редактирование: 15.03.2010, 11:24:31 от ovenm »
*

krist

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Похожий вопрос
К каждой записи таблицы прикручено несколько картинок (сканир. доверенности) со сроком истечения. Картинок может быть от 1 до 5. Поскольку заводить 10 элементов не хотелось бы (форма получается слишком большой). Картинки закидываются в одну ячейку (одно поле записи) с помощью repeatgroup. Нужно чтобы картинки с истекшим сроком (срок<текущей даты) либо не отображались в таблице, либо  удалялись.
Буду очень благодарна за полезный совет.
спасибо.
*

krist

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Подскажите, как в fabrik можно элемент (кнопку,поле ввода,...) скрыть по условию на этапе загрузки формы или при вводе данных, например, от идентификатора юзера.

А через пункт Or В javascript не пытались? типа : or  - hide -  что скрывать - когда данный элемент - условие (=, => и.т.д)  - значение
*

ovenm

  • Захожу иногда
  • 101
  • 3 / 0
  • Мы все сможем, если захотим
хотелось бы что нибудь в этом роде
if (this.value=={$my->id}).....

Пробовал скрывать поле с помощью средств закладки javaskript, не заменяется {$my->id}
Хотя в фильтрах таблицы такую конструкцию  ({$my->id}) успешно использую.
в т.ч и оr

если конструкция {} работала, то проблема бы исчезла. 
Наверно придется код самому пахать.....
*

krist

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
попробуй не java а вкладку validation  там есть в списке php  - насколько я понимаю в одно поле вставляешь условие  шаблон сам ставит {} для того что записано в поле "код".
Может конечно я ошибаюсь.
*

ovenm

  • Захожу иногда
  • 101
  • 3 / 0
  • Мы все сможем, если захотим
Пришлось заплату ставить и в ней парсить {} для javaskript. Для php авторы реализовали. Правда при этом пришлось отключить для фабрик кеширование.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

С чего начать знакомство с Fabrik? (Несколько уроков посвященных компоненту)

Автор xpank

Ответов: 7
Просмотров: 4052
Последний ответ 22.06.2022, 16:07:31
от RomanA
Fabrik кол-во строк в таблице

Автор Vdmit

Ответов: 2
Просмотров: 2740
Последний ответ 24.05.2021, 10:55:53
от Vdmit
Fabrik list plugin - Table Edit

Автор yunoshev

Ответов: 0
Просмотров: 2811
Последний ответ 09.01.2021, 11:22:10
от yunoshev
Может быть Fabrik уже не конструктор форм, а CCK ?

Автор pirks

Ответов: 0
Просмотров: 3846
Последний ответ 19.02.2017, 09:43:48
от pirks
Fabrik для чайников как сделать Hello, world?

Автор AngelikaKS

Ответов: 1
Просмотров: 5434
Последний ответ 15.06.2016, 16:40:43
от Gorilla