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

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Хочу в blog.php добавить в цикл проверку на четный/не четный <?php $num= 1; ?> и чтобы был соответствующий класс:

Код
<?php $num= 1; ?>
<?php foreach ($this->lead_items as &$item) : ?>

<div class="leading leading-<?php echo $leadingcount; ?> <?php if($num % 2 === 0) echo 'odd'; else echo 'even'; ?>

но выводится всегда "even".
Что я делаю не верно?
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
На вскидку, не вижу чтобы переменная $num меняла свое значение, ей как присвоена единица так и она с ней и живет. Вообще во время отладки лучше вставлять код для вывода промежуточных значений, так вы сможете видеть какие значения содержат переменные, и соответсвуют ли желанному результату.
« Последнее редактирование: 01.04.2021, 13:22:35 от xpank »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
А сколько сущностей в $this->lead_items ?
На вскидку, не вижу чтобы переменная $num меняла свое значение, ей как присвоена единица так и она с ней и живет.
Согласен, в цикле нет $num++
*

sivers

  • Живу я здесь
  • 2587
  • 359 / 0
Согласен, в цикле нет $num++
тогда
Код
if($num++ % 2 === 0) echo 'odd'; else echo 'even';
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
тогда
Код
if($num++ % 2 === 0) echo 'odd'; else echo 'even';
Или как-то так, но я не уверен, я тот еще быдлокодер
Код
foreach ($this->lead_items as &$item){
$num++;
echo "<div class='leading leading-'". $leadingcount; if($num % 2 === 0) echo 'odd'; else echo 'even';
}
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Или как-то так, но я не уверен, я тот еще быдлокодер
Код
foreach ($this->lead_items as &$item){
$num++;
echo "<div class='leading leading-'". $leadingcount; if($num % 2 === 0) echo 'odd'; else echo 'even';
}

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

!!!РЕШЕНО - Сайт не цепляет переопределение! Помогите

Автор onniby

Ответов: 4
Просмотров: 778
Последний ответ 04.05.2022, 12:47:09
от onniby
Помогите центрировать слайдер. (Скрин и описание внутри)

Автор 62411

Ответов: 6
Просмотров: 699
Последний ответ 26.06.2021, 22:54:24
от 62411
Исправление ошибок html на сайте после проверки валидатором

Автор Elimelech

Ответов: 6
Просмотров: 1398
Последний ответ 26.03.2020, 21:10:47
от beliyadm
Помогите разобраться: повышенная нагрузка на сайт

Автор Lovenokia

Ответов: 5
Просмотров: 1539
Последний ответ 11.02.2020, 09:11:42
от Gerostrat
Почему 301-редирект php-скриптом сайта?

Автор mak200

Ответов: 5
Просмотров: 788
Последний ответ 30.01.2020, 14:35:21
от SeBun