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

ivan_wr

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Здравствуйте. Вопрос к программистам.

Создал свой компонент, теперь его нужно интегрировать с JoomShopping. Создал плагин, для модификации формы редактирования товара. Но теперь хотелось бы использовать уже созданный кастомный тип из моего компонента, который вставляет селект с набором полей из таблицы БД. Как это сделать? Средствами `JHtml`?
И можно ли для плагинов создавать формы используя XML, как это сделано в компонентах?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Здравствуйте. Вопрос к программистам.

Создал свой компонент, теперь его нужно интегрировать с JoomShopping. Создал плагин, для модификации формы редактирования товара. Но теперь хотелось бы использовать уже созданный кастомный тип из моего компонента, который вставляет селект с набором полей из таблицы БД. Как это сделать? Средствами `JHtml`?
И можно ли для плагинов создавать формы используя XML, как это сделано в компонентах?
Добавь в функцию preprocessForm в файл модели
Код: php
<?php FieldsHelper::prepareForm($form->getName(), $form, $data); ?>
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ivan_wr

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Добавь в функцию preprocessForm в файл модели

В плагине нет модели  ^-^
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
В плагине нет модели  ^-^
а я не говорил что это надо делать в плагине  :D
Это надо дописать в своем компоненте
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ivan_wr

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Короче сделал так:
Спойлер
[свернуть]

Только в select'e нету пустого значения. Как быть?

Так вывожу форму:
Спойлер
[свернуть]

А следом надо будет решать как обработать эти данные.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
от какого класса унаследуется твоя модель? к примеру
Код: php
<?php class MyComponentModelEquipment extends что здесь указано ?>

Вообще не понятно что делает функция onDisplayProductEditTabsEnd

за чем указываешь параметры по умолчанию
Код: php
<?php $form = JForm::getInstance('com_equipment.equipment', 'equipment'); ?>

Я так понимаю что твой первый компонент который ты делаешь?
« Последнее редактирование: 23.04.2018, 14:17:39 от NewUsers »
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ivan_wr

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Сделал так:
Спойлер
[свернуть]

Осталось. Как-то обработать форму. Придется еще один плагин писать. Или можно как-то иначе?
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
<?php echo JLayoutHelper::render('joomla.edit.params', $this); ?>
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ivan_wr

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
<?php echo JLayoutHelper::render('joomla.edit.params', $this); ?>
Знаю про неё, использовал в компоненте. Но я плагине не смог ее использовать, из-за контекста $this.
Короче не суть. У меня другие проблемы. Нужно реализовать сохранение после отправки формы.
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Нужно реализовать сохранение после отправки формы.
зависит от того как сохраняешь данные формы (стандартными средствами, или свой код сохранения)
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

ivan_wr

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
зависит от того как сохраняешь данные формы (стандартными средствами, или свой код сохранения)

Это форма изменения товара JoomShopping. Вроде писал в описании к вопросу.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Нужно реализовать сохранение после отправки формы
Нечасто работаю с JShopping, но IMHO, вам нужно добавить в плагин функцию onBeforeDisplaySaveProduct(&$post, &$product), где $post - массив данных из формы, а $product - объект таблицы jshopProduct.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ivan_wr

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Нечасто работаю с JShopping, но IMHO, вам нужно добавить в плагин функцию onBeforeDisplaySaveProduct(&$post, &$product), где $post - массив данных из формы, а $product - объект таблицы jshopProduct.

Ага, спасибо. Уже разобрался. :) Всем спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

ajax загрузка компонента на странице материала К2

Автор Divn

Ответов: 0
Просмотров: 819
Последний ответ 13.01.2023, 15:05:52
от Divn
Блок особенностей, как добавить в поле с информацией кнопку или ссылку Подробнее

Автор Alex from SPb

Ответов: 5
Просмотров: 696
Последний ответ 28.11.2022, 19:54:42
от marksetter
Ошибка при установке компонента

Автор JackThaCat

Ответов: 6
Просмотров: 1843
Последний ответ 11.11.2022, 06:04:13
от Satelitte
Как использовать карты svg в Joomla?

Автор chen

Ответов: 3
Просмотров: 1470
Последний ответ 24.10.2022, 00:16:50
от gartes
Как вывести в категории VirtueMart кастомное поле с редактором?

Автор dc_web

Ответов: 4
Просмотров: 660
Последний ответ 05.10.2022, 11:07:00
от sivers