Новости 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 Ответов
  • 2356 Просмотров
*

ira

  • Новичок
  • 3
  • 0 / 0
как сделать в XML файле плагина, чтоб категории выводились не выпадающим списком, а select multiple?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
К сожалению, множественный выбор доступен только для параметров типа usergroup. Посмотреть как это реализовано можно в файле /libraries/joomla/html/parameter/element/usergroup.php и в принципе по образу и подобию можно попробовать расширить тип section и category.
*

ira

  • Новичок
  • 3
  • 0 / 0
В файле usergroup.php за multiple отвечает параметр $attribs.Но как его засунуть в return? пробую но не получается
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ну я думаю, что последовательно правок (на примере category.php) должна быть примерно такой:

После строчек:

	
	
if (!
$class) {
	
	
	
$class "inputbox";
	
	
}


добавляем

	
	

	
	
$ctrl '';
	
	
$attribs
	
' ';
	
	
if (
$v $node->attributes('size')) {
	
	
	
$attribs
	
.= 
'size="'.$v.'"';
	
	
}
	
	
if (
$m $node->attributes('multiple'))
	
	
{
	
	
	
$attribs
	
.= 
'multiple="multiple"';
	
	
	
$ctrl
	
	
.= 
'[]';
	
	
}


Затем, комментируем строчку:

	
	
array_unshift($optionsJHTML::_('select.option''0''- '.JText::_('Select Category').' -''id''title'));


И заменяем строчку:

	
	
return 
JHTML::_('select.genericlist',  $options''.$control_name.'['.$name.']''class="'.$class.'"''id''title'$value$control_name.$name );


на

	
	
return 
JHTML::_('select.genericlist',  $options''.$control_name.'['.$name.']'.$ctrl'class="'.$class.'"' $attribs'id''title'$value$control_name.$name );


По идее, ничего не забыл. После этой правки, в параметре можно писать вместо:

Код
<param name="catid" type="category" section="com_banner" default="" label="Category" description="PARAMCATEGORY" />

вот так:

Код
<param name="catid" size="10" multiple="true" type="category" section="com_banner" default="" label="Category" description="PARAMCATEGORY" />

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

получить ID материала, категории, раздела в шаблоне

Автор e-life

Ответов: 16
Просмотров: 20583
Последний ответ 15.05.2017, 07:36:09
от LadaDed
Сортировка статей по итоговому рейтингу плагина Extravote. Предлагаю коллективный мозговой штурм!

Автор deniro21

Ответов: 3
Просмотров: 5194
Последний ответ 04.03.2012, 23:56:54
от SamDecKs
Создание таблицы в БД при установке плагина

Автор mohax

Ответов: 2
Просмотров: 2205
Последний ответ 14.06.2011, 17:35:46
от mohax
Создание плагина всплывающего изображения

Автор CTPZ

Ответов: 1
Просмотров: 1932
Последний ответ 25.04.2011, 12:09:12
от moskitos80
Как лучше сделать пересоздание миниатюр изображений?

Автор Виталик

Ответов: 0
Просмотров: 1622
Последний ответ 10.12.2010, 12:38:18
от Виталик