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

Alex_gs

  • Захожу иногда
  • 152
  • 1 / 0
Есть много расширений, модули которых самостоятельно поддерживают многоязычность.

Соответственно вопрос - как сделать заголовок модуля тоже многоязычным, чтобы не дублировать модули (2 или 3-х язычный сейчас норма у нас).
Дело в том, что следующий проект будет на 4 языка добавят польский. И даже захотели и немецкий...

Возможно другое решение.
Есть ли модуль, который бы выводил 1 языковую константу. Я бы ставил его перед функциональными модулями.
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Re: Языковая константа в Module Header
« Ответ #1 : 29.07.2022, 23:48:40 »
Проще всего, пожалуй, будет поставить в настройках модуля "Стиль модуля" = none, тем самым отключится стандартный вывод заголовка и обрамляющего блока. И выбрать переназначенный макет, в котором самостоятельно выводить заголовок через JText::_() и обрамляющий блок (если нужен).

Того же эффекта можно достичь, если добавить соотв. стиль модуля через переназначение или добавление нового (если это вам проще).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Akeksandr

  • Захожу иногда
  • 396
  • 12 / 0
Re: Языковая константа в Module Header
« Ответ #2 : 30.07.2022, 08:44:23 »
Почитайте ещё советы с темы. Мне sivers очень помог советом и я сделал такое.
Перевод заголовков модулей?
*

Alex_gs

  • Захожу иногда
  • 152
  • 1 / 0
Re: Языковая константа в Module Header
« Ответ #3 : 03.08.2022, 12:03:41 »
С переопределением модулей и JText понятно. Я так делаю в критичных моментах. Title не менял пока.

В основном внутри php бывают моменты в англоязычных модулях, когда строки вывода модуля задаются при настройке модуля в админке.
Обычно добавляю сравнение начала строки на "MOD" ну и константы так называю. Т.е. вывожу или обычный текст или константу (если начало строки MOD).

Где выводится module title?
Пробовал поменять в \templates\{template}\html\modules.php .
Тут - echo '<' . $headerTag . ' class="' . $headerClass . '">' . $module->title . '</' . $headerTag . '>';
Не работает.
« Последнее редактирование: 03.08.2022, 12:36:10 от Alex_gs »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Привязан header ко всем языкам

Автор records44

Ответов: 0
Просмотров: 348
Последний ответ 11.07.2023, 17:00:38
от records44
advanced module manager в J4 показывает все модули на всех страницах

Автор androv77

Ответов: 2
Просмотров: 582
Последний ответ 30.09.2022, 13:57:50
от androv77