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

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
В компоненте надо сделать экспорт данных (объявлений) в несколько разных форматов (Excel, TXT и др.).

Куда лучше поместить скрипт экспорта согласно модели MVC?

Есть желание поместить его в шаблон, потому что в шаблоне уже есть все данные которые будут записываться в файл. Но как-то это коряво.

Поскажите как лучше организовать эспорт и как оформить его в админке!
*

shprota

  • Давно я тут
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Re: Как правильнее сделать экспорт?
« Ответ #1 : 06.07.2009, 22:17:33 »
В шаблон правильно. Надо все подготовить во view и в шаблоне вывести в нужном виде.
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Как правильнее сделать экспорт?
« Ответ #2 : 07.07.2009, 01:16:45 »
В шаблон правильно. Надо все подготовить во view и в шаблоне вывести в нужном виде.
Спасибо за ответ. Так и сделал, но всё-таки непривычно в шаблоне создавать файлы.
*

shprota

  • Давно я тут
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Re: Как правильнее сделать экспорт?
« Ответ #3 : 07.07.2009, 01:19:46 »
Файлы можно создавать во view
Код
$content = $this->loadTemplate('blah');
$this->createFile($content);
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Как правильнее сделать экспорт?
« Ответ #4 : 07.07.2009, 03:14:43 »
Всё-таки вставил экспорт согласно MVC:
  • компонент вызывается с параметром ...&task=export
  • контроллер вызывает свою функцию Export(), в ней проверяются права пользователя, создаётся объект модели и вызывается функция модели ExportExel()
  • в модели в функции exportexel() подключается библиотека Exel, данные берутся из базы, и записываются в файл exel
  • в функции Export() контроллера делается перенаправление на страницу где можно скачать файл с результатами экспорта
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как лучше сделать пересоздание миниатюр изображений?

Автор Виталик

Ответов: 0
Просмотров: 1622
Последний ответ 10.12.2010, 12:38:18
от Виталик
JHTML как сделать фильтрацию?

Автор Demon_ku

Ответов: 6
Просмотров: 2759
Последний ответ 25.09.2010, 03:30:05
от Professor
Как сделать компонент коммерческим?

Автор capricorn

Ответов: 5
Просмотров: 2123
Последний ответ 05.09.2010, 10:50:20
от zikkuratvk
Как сделать плагин для своего компонента?

Автор Виталик

Ответов: 3
Просмотров: 2619
Последний ответ 28.12.2009, 11:19:59
от b2z
Как сделать настройку flash-меню через админку?

Автор Виталик

Ответов: 3
Просмотров: 2385
Последний ответ 23.10.2009, 21:29:07
от shprota