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

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
Вот снова решил вернуться к этому компоненту. Раньше я как-то сделал это (чтобы поля были в олин ряд при просмотре полной статьи, шаблон default для материала), сейчас не помню где это делать, все облазил, но не нашел. Подскажите пожалуйста.
*

effrit

  • Moderator
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как сделать поля в один ряд?
« Ответ #1 : 03.10.2010, 10:45:04 »
на сколько я понимаю, речь про item.php в папке нужного шаблона
несколько секций, начинающиеся на

<?php foreach ($this->item->positions

выводят поля. там и нужно менять.
и/или дописывать в CSS для нужных классов float
*

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
Re: Как сделать поля в один ряд?
« Ответ #2 : 03.10.2010, 10:50:58 »
effrit, спасибо. все решилось в админке) Типы>Выбираем тип>Параметры: дополнительные : default-Количество столбцов(верх)-Один стобец.
*

effrit

  • Moderator
  • 10132
  • 1118 / 13
  • effrit.com
Re: Как сделать поля в один ряд?
« Ответ #3 : 03.10.2010, 11:00:18 »
да уж. ну ты и умелец вопросы задавать )
поля то всё равно в столбик выстраиваются, а не в строку. так что формулировка вопроса более чем сомнительна :)
*

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
Re: Как сделать поля в один ряд?
« Ответ #4 : 03.10.2010, 11:03:13 »
Да уж, ступил я че-то)
*

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
Re: Как сделать поля в один ряд?
« Ответ #5 : 03.10.2010, 13:49:56 »
А вот теперь реально надо в один ряд сделать чтобы весь материал (в моем случае картинки) были в один ряд (тут я создал тему про это http://www.flexicontent.org/forum/index.php?f=26&t=2329&rb_v=viewtopic).
*

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
Re: Как сделать поля в один ряд?
« Ответ #6 : 03.10.2010, 17:43:09 »
Ес! Ес! Ес! Вот решение:
открываем item.php шаблона default (в моем случае) и ищем этот блок кода (в моем случае позиция "bottom"):
Код
<!-- BOF bottom block -->
<div class="infoblock <?php echo $this->params->get('bottom_cols', 'two'); ?>cols">
<ul>
<?php foreach ($this->item->positions['bottom'] as $field) : ?>
<li>
<div>
<?php if ($field->label) : ?>
<div class="label field_<?php echo $field->name; ?>"><?php echo $field->label; ?></div>
<?php endif; ?>
<div class="value field_<?php echo $field->name; ?>"><?php echo $field->display; ?></div>
</div>
</li>
<?php endforeach; ?>
</ul>
</div>
<!-- EOF bottom block -->
В строчке:
Код
<div class="infoblock <?php echo $this->params->get('bottom_cols', 'two'); ?>cols">
меняем значение two на то, которое соответствует тому кол-ву доп. материалов (в моем случае изображений), котрое вы хотите вывести в ряд. Я поставил значение 10 (на всякий случай), но даже при таком значении если картинки не умещаются в один ряд, то не умещающиеся картинки переносятся на новую строку, т.е. на новый ряд.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Счетчик комментариев - плагин для поля FLEXIcontent

Автор Arkadiy

Ответов: 7
Просмотров: 3405
Последний ответ 28.02.2014, 11:38:12
от Arkadiy
Как изменить вывод определенного поля?

Автор TrOn

Ответов: 0
Просмотров: 1658
Последний ответ 16.06.2013, 13:45:36
от TrOn
Как сделать табы?

Автор mishany27

Ответов: 13
Просмотров: 3984
Последний ответ 13.02.2013, 20:03:49
от kpk17
Почему не отображаются поля Related item'a? (скриншоты внутри)

Автор bugmenot

Ответов: 1
Просмотров: 1940
Последний ответ 26.10.2012, 08:50:24
от effrit
Один фильтр на два поля.

Автор Аскет

Ответов: 0
Просмотров: 1815
Последний ответ 09.05.2012, 22:20:03
от Аскет