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

goga_pgasovav

  • Захожу иногда
  • 444
  • 6 / 0
  • Внимательный джумловод
Столкнулся с необходимостью, в добавок к основному тексту материала, выводить ещё и модуль с дополнительной информацией.
Причём выводиться он должен не в один и тот же контейнер, куда и основной текст.
Хочу сделать обычное дополнительное поле в админке, чтобы можно было вбивать туда обычное {loadmodule mymodule} и чтобы модуль выводился в нужном месте шаблона.
Поле сделал, это я давно умею. Но вот незадача (это было ожидаемо) — выводится просто текст "{loadmodule mymodule}" а не сам модуль.
Очень прошу помощи!
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
а как происходит вывод костомного поля?
вы сами вывод дописываете?
если да, то модернизируйте код, чтобы брал значение в переменную $my_pos, проверял на пустоту и потом
Код
$modules =& JModuleHelper::getModules($my_pos);
foreach ($modules as $module) {
                echo JModuleHelper::renderModule($module);
                }
*

goga_pgasovav

  • Захожу иногда
  • 444
  • 6 / 0
  • Внимательный джумловод
Вывод вот так делаю:

Код
            <?php
                $item_designer = $params->get('item_designer');
                echo $item_designer;
            ?>
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

fbr

  • Завсегдатай
  • 1670
  • 206 / 7
<?php echo JHTML::_('content.prepare', '{loadposition mymodule}'); ?>

 mymodule - нужно позицию модуля указать
*

goga_pgasovav

  • Захожу иногда
  • 444
  • 6 / 0
  • Внимательный джумловод
Спасибо огромное, товарищи! Буду пробовать  ^-^
« Последнее редактирование: 16.03.2016, 17:43:07 от goga_pgasovav »
*

goga_pgasovav

  • Захожу иногда
  • 444
  • 6 / 0
  • Внимательный джумловод
Оба подхода работают прекрасно! Премного благодарен! Надеюсь это ещё кому-то пригодится  :D
*

sabnok

  • Захожу иногда
  • 126
  • 1 / 0
<?php echo JHTML::_('content.prepare', '{loadposition mymodule}'); ?>

 mymodule - нужно позицию модуля указать

а это куда вставлять надо?)) У меня проблема в том, что стоит плагин похожих материалов и он выводит их сразу после тела статьи, и никак не могу сделать что бы блок рекламы выводился перед этими материалами
« Последнее редактирование: 04.05.2016, 20:18:29 от sabnok »
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
код надо вставлять в шаблон вывода статьи.
на примере шаблона beez3
\templates\beez3\html\com_content\
если для своего шаблона скопируете файлы в такую же папку отсюда
\components\com_content\views
*

sabnok

  • Захожу иногда
  • 126
  • 1 / 0
А у меня сторонний плагин похожих материалов каким то образом выводиться всегда первым после статьи.
Втыкаю рекламный код сюда - он выводиться, но после похожих материалов, а надо чтобы перед))) Как обойти это плагин незнаю...

<div itemprop="articleBody">

      <?php echo $this->item->text; ?>

   </div>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Порядок загрузки скриптов

Автор wertex

Ответов: 40
Просмотров: 26619
Последний ответ 08.03.2021, 22:16:54
от Flexderection
Блокировка материала! Что оно такое?

Автор Chebyrek

Ответов: 17
Просмотров: 16780
Последний ответ 30.06.2020, 16:33:09
от 1AZ1
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 1783
Последний ответ 14.12.2019, 20:19:21
от Gromz
Редактирование Модуля - в меню не удаляется пункт

Автор bovinkm

Ответов: 4
Просмотров: 1644
Последний ответ 16.08.2019, 15:00:22
от bovinkm
Определить название модуля

Автор xxgurman

Ответов: 2
Просмотров: 1179
Последний ответ 22.06.2019, 06:52:02
от arma