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

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
В настройках модуля есть параметр типа menuitem, он сохраняет itemid.
Как из ItemId сделать ссылку?
т. е. как получить url? (конечно же соответствующий вкюченному/выключенномк SEF`у)
« Последнее редактирование: 10.06.2009, 12:54:43 от Виталик »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как сделать ссылку из ItemId?
« Ответ #1 : 10.06.2009, 00:11:30 »
ничего из описания не понял. ItemID это все лишь идентификатор пункта меню, из него ссылку сделать ну никак нельзя
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Как сделать ссылку из ItemId?
« Ответ #3 : 10.06.2009, 00:20:20 »
модуль сам пишу

вот скрин настроек модуля, и параметр типа "menuitem" это же пункт меню, а пункт меню это же ссылка

я хочу в модуле сделать ссылку, аналогичную пункту меню

[вложение удалено Администратором]
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Как сделать ссылку из ItemId?
« Ответ #4 : 10.06.2009, 00:23:25 »
ссылка-то будет на что? на данный пункт меню? или на некий материал в данном пункте меню? дял какого компонента делаешь модель - вообщем надо побольше информации, т.к. там для всех по разному делается, для контента там вообще через жопу
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Как сделать ссылку из ItemId?
« Ответ #5 : 10.06.2009, 00:37:21 »
ссылка будет дублировать выбранный пункт меню

в таблице jos_menu есть всё необходимое: id, name и link
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
Re: Как сделать ссылку из ItemId?
« Ответ #6 : 10.06.2009, 00:54:19 »
можно так попробовать, $menu_item - одна запись из jos_menu:
Код
$router = JSite::getRouter();
$menu_item->url = $router->getMode() == JROUTER_MODE_SEF ? 'index.php?Itemid='.$menu_item->id : $menu_item->link.'&Itemid='.$menu_item->id;

if ($$menu_item->home == 1) {
$menu_item->url = JURI::base();
} elseif (strcasecmp(substr($menu_item->url, 0, 4), 'http') && (strpos($menu_item->link, 'index.php?') !== false)) {
$menu_item->url = JRoute::_($menu_item->url, true, 0);
} else {
$menu_item->url = str_replace('&', '&amp;', $menu_item->url);
}
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Re: Как сделать ссылку из ItemId?
« Ответ #7 : 10.06.2009, 02:05:08 »
спасибо era,
вот, то что я искал: имеем Itenid, получаем url

$url  
JRoute::_("index.php?Itemid="$Itemidtrue0);
« Последнее редактирование: 10.06.2009, 02:09:30 от Виталик »
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Модификация стандартного компонента weblinks

Автор gdX

Ответов: 25
Просмотров: 7672
Последний ответ 19.03.2012, 15:32:29
от klenovskaja
[Решено] Как в модуле узнать его заголовок.

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

Ответов: 0
Просмотров: 1502
Последний ответ 08.01.2011, 18:47:32
от Виталик
Как лучше сделать пересоздание миниатюр изображений?

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

Ответов: 0
Просмотров: 1622
Последний ответ 10.12.2010, 12:38:18
от Виталик
[Решено] Как узнать разрешена ли регистрация пользователей?

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

Ответов: 0
Просмотров: 1446
Последний ответ 03.12.2010, 01:25:26
от Виталик
JHTML как сделать фильтрацию?

Автор Demon_ku

Ответов: 6
Просмотров: 2759
Последний ответ 25.09.2010, 03:30:05
от Professor