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

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Привет всем. Задача простая - делаю ссылку для выбора картинки:
Код HTML:
Код
<a class="modal" title="Изображение" href="index.php?option=com_media&amp;view=images&amp;layout=default&amp;tmpl=component&amp;e_name=selectmap" rel="{handler: 'iframe', size: {x: 570, y: 400}}">
 <?php echo JText::_('SELECT_MAP')?>
</a>
, вешаю на неё модальное окно:
PHP код:

Код
<?php JHTML::_('behavior.modal', 'a.modal' )?>

При нажатии кнопки открывается модальное окно с iframe и идет запрос к com_media: index.php?option=com_media&view=images&layout=defa ult&tmpl=component&e_name=selectmap - Собственно вопрос, как теперь на странице, с которой вызывалось модальное окно получить результат - урл выбранной картинки, если при нажатии кнопки "Вставить" - в модальном окне, Joomla обращается к ф-ции jInsertEditorText, которую используют плагины - кнопки для виз. редакторов, и переопределить её я не могу и использовать тоже т.к. значение нужно поиметь не виз. редакторе.

Есть у кого идеи, кроме как реализовать собственный менеджер картинок?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Можно посмотреть как реализован возврат наименования статьи при выборе ее в элементе Article при редактировании пункта меню. Там по сути все просто и может быть реализовано двумя способами:
1. при открытии модального окна переопределяется обработчик onClose, который срабатывает при закрытии модального окна
2. в модальном окне вызывается функция, объявленная в родительском документе (доступ - через window.parent).
*

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Можно посмотреть как реализован возврат наименования статьи при выборе ее в элементе Article при редактировании пункта меню...

Нет меня интересует конкретно com_media. А про обработчик onClose можно подробнее? Я смотрел исходник метода JHTMLBehavior::modal($selector='a.modal', $params = array())  - про второй параметр, если честно не очень понятно, если я определяю что то вроде:
Код
JHTML::_('behavior.modal', 'a.modal', array('onClose' = > 'myfunction') );
И определяю в Javascript функцию с именем myfunction
то эта конструкция в итоге выдаёт что myfunction не имеет метода create. Я пробовал даже создавать объект myfunction с методом  create - не помогает! Уже пол инета перерыл ни где - ничего!
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Хм, а что если попробовать переопределить ImageManager.onok?
*

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Хм, а что если попробовать переопределить ImageManager.onok?
Решил не заморачиваться с ImageManager. Спасибо за попытку помочь. Остальные решения найденные в сети не оптимальны. Решил реализовывать своими силами.
*

Good

  • Новичок
  • 1
  • 0 / 0
Я смотрел исходник метода JHTMLBehavior::modal($selector='a.modal', $params = array())  - про второй параметр, если честно не очень понятно
А второй параметр определяет поведение SqeezBox'a - iframe, rel, size и т.д. Кстати, картинку лучше вызывать с параметром image ;-).
Вот, взгляните на домашнюю страничку плагина:
http://digitarald.de/project/squeezebox/
*

moskitos80

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Большое всем спасибо. Сделал в итоге через модальное окно, но с функционалом com_media не стал заморачиваться. Просто добавил в контроллер новый метод и ещё один вид, который вызывается из ifram-a с параметром format=row. Метод парсит определённую папку и выводит картинки рядами, на них повесил свой JS всё работает стабильно.  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

params->get для компонента, как получить свои собственные параметры для компонента

Автор klubnichkaaa

Ответов: 13
Просмотров: 14079
Последний ответ 01.06.2017, 20:20:28
от Septdir
По ID'у пункта меню получить ссылку для перехода

Автор GRIG

Ответов: 4
Просмотров: 2950
Последний ответ 08.05.2017, 17:13:05
от Aleks.Denezh
Значение из контента перенести в модуль

Автор leo78

Ответов: 42
Просмотров: 3153
Последний ответ 31.07.2015, 19:51:00
от leo78
Получить значения пагинации к примеру $this->pagination->total

Автор klubnichkaaa

Ответов: 7
Просмотров: 1630
Последний ответ 09.06.2014, 14:50:57
от klubnichkaaa
Модальные окна в административной части

Автор klubnichkaaa

Ответов: 5
Просмотров: 1626
Последний ответ 03.06.2014, 09:57:57
от klubnichkaaa