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

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Привет, кто в теме, есть вопрос по совместимости интерфейса в админке, есть какие гайды по переходу, или полностью надо перепиливать?
Пока такой вариант ну так себе выглядит  и не работает(
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Вопрос по верстке админки
« Ответ #1 : 23.09.2021, 15:31:03 »
Сам в октябре начну это проходить, гайдов нет - смотреть исходники. Да и тяжело это гайдом описать...
Может попробую какие-то основные вещи зафиксировать.
*

varX

  • Живу я здесь
  • 2465
  • 141 / 5
  • разработка компонентов
Re: Вопрос по верстке админки
« Ответ #2 : 23.09.2021, 17:30:20 »
Я просто напросто сделал свой MVC и свои стили. Теперь можно ставить на любую CMS без большого напильника.

В целом, существенной разницы нет. Несколько функций J3 убыло и были заменены. Самая большая проблема - админ меню. Теперь оно не гибкое, жестко прописывается при установке расширения, и манипуляции при необходимости, только через \JFactory::getDBO(). А \JHtmlSidebar в концепт J4 не очень вписывается.

В остальном что касается перехода, по сути, между J3 и J4 только в CSS разница.
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

ShopES

  • Захожу иногда
  • 426
  • 11 / 0
Re: Вопрос по верстке админки
« Ответ #3 : 23.09.2021, 18:11:03 »
по факту нет дропдауна это минус
пример те же материалы
раньше правишь материал.
надо глянуть в меню категорий навел мышкой кликнул в новом окне и готово
теперь хрен
одним словом меню минус
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Re: Вопрос по верстке админки
« Ответ #6 : 28.09.2021, 21:02:17 »
Call to undefined method Joomla\CMS\HTML\HTMLHelper::startTabSet() - да и других методов не видно что-то
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Вопрос по верстке админки
« Ответ #7 : 29.09.2021, 09:50:09 »
Call to undefined method Joomla\CMS\HTML\HTMLHelper::startTabSet() - да и других методов не видно что-то
Попробуй так

Код
\Joomla\CMS\HTML\HTMLHelper::_('bootstrap.startTabSet', '#selector', [])
selector - селектор идентификатора для панели вкладок (без #).
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Re: Вопрос по верстке админки
« Ответ #8 : 29.09.2021, 10:05:42 »
Попробуй так

Код
\Joomla\CMS\HTML\HTMLHelper::_('bootstrap.startTabSet', '#selector', [])
selector - селектор идентификатора для панели вкладок (без #).
Я так и делаю) просто решил попробовать разные методы.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Вопрос по верстке админки
« Ответ #9 : 29.09.2021, 14:13:23 »
Хмм, ну по факту в классе метод есть:

public static function startTabSet($selector = 'myTab', $params = []) :string

https://github.com/joomla/joomla-cms/blob/4.0-dev/libraries/src/HTML/Helpers/Bootstrap.php#L809

Тогда так получется:
Код
\Joomla\CMS\HTML\Helpers\Bootstrap::startTabSet()
Хотя это неправильно, нет кэширования вызова. HTMLHelper кэширует себе все функции.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Вопрос по верстке админки
« Ответ #10 : 29.09.2021, 14:21:57 »
Кстати, для админки используется HTMLHelper::_('uitab.startTabSet'). Но такое только в четверке походу и это не Бутстрап  ^-^

Вот поиск по коду:
https://github.com/joomla/joomla-cms/search?q=startTabSet%28%29

Код
<?php echo HTMLHelper::_('uitab.startTabSet', 'myTab', ['active' => 'description', 'recall' => true, 'breakpoint' => 768]); ?>
    <?php echo HTMLHelper::_('uitab.addTab', 'myTab', 'description', Text::_('COM_TEMPLATES_TAB_DESCRIPTION')); ?>
    <div class="card">
        <div class="card-body">
            <?php echo $this->loadTemplate('description'); ?>
        </div>
    </div>
    <?php echo HTMLHelper::_('uitab.endTab'); ?>
<?php echo HTMLHelper::_('uitab.endTabSet'); ?>

https://github.com/joomla/joomla-cms/blob/4.0-dev/libraries/src/HTML/Helpers/UiTab.php
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Re: Вопрос по верстке админки
« Ответ #11 : 29.09.2021, 15:45:56 »
Может пример есть какой для удобного использования разрешений? Там тоже не бутстрап использовали вроде как)
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Вопрос по верстке админки
« Ответ #12 : 29.09.2021, 17:00:36 »
Может пример есть какой для удобного использования разрешений? Там тоже не бутстрап использовали вроде как)
А откуда его взять? ;)
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Re: Вопрос по верстке админки
« Ответ #13 : 29.09.2021, 20:39:26 »
LayoutHelper::render('joomla.content.options_default', $this) по сути это
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вопрос по шаблону Protostar для Joomla 5

Автор Mick_20

Ответов: 2
Просмотров: 614
Последний ответ 06.03.2025, 12:24:37
от web1
Вопрос про макет отображения Блога Категорий - в меню

Автор Lann

Ответов: 7
Просмотров: 791
Последний ответ 31.01.2025, 16:12:36
от Lann
Не могу из Joomla админки отправить тестовое сообщение

Автор androv77

Ответов: 0
Просмотров: 544
Последний ответ 03.12.2024, 20:25:36
от androv77
Вопрос по пункту меню Блог категории и выводу изображений

Автор Serebro2009

Ответов: 6
Просмотров: 1055
Последний ответ 26.07.2024, 22:24:37
от Vastriet
Вопрос по helix и русским символам в unicode

Автор Magnum79

Ответов: 0
Просмотров: 611
Последний ответ 12.06.2024, 13:39:12
от Magnum79