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

Olg

  • Завсегдатай
  • 1181
  • 90 / 2
Ситуация стандартна: "Ничего не делал -- оно само...".
Сайт на последней версии Joomla! (3.8.12). На сайте только обновлял движок -- всё работало. Хостер (Timeweb) прислал письмо счастья:
Спойлер
[свернуть]
После этого тоже сайт работал. Сегодня бац: на всех страницах
Код
Using $this when not in object context
.../libraries/src/Application/CMSApplication.php:369
Call stack
# Function Location
1 () JROOT/libraries/src/Application/CMSApplication.php:369
2 Joomla\CMS\Application\CMSApplication::getMenu() JROOT/libraries/src/Application/SiteApplication.php:275
3 Joomla\CMS\Application\SiteApplication::getMenu() JROOT/plugins/system/expiresheaders/expiresheaders.php:24
4 plgSystemExpiresHeaders->plgSystemExpiresHeaders() JROOT/libraries/src/Plugin/PluginHelper.php:283
5 Joomla\CMS\Plugin\PluginHelper::import() JROOT/libraries/src/Plugin/PluginHelper.php:182
6 Joomla\CMS\Plugin\PluginHelper::importPlugin() JROOT/libraries/src/Application/CMSApplication.php:622
7 Joomla\CMS\Application\CMSApplication->initialiseApp() JROOT/libraries/src/Application/SiteApplication.php:688
8 Joomla\CMS\Application\SiteApplication->initialiseApp() JROOT/libraries/src/Application/SiteApplication.php:212
9 Joomla\CMS\Application\SiteApplication->doExecute() JROOT/libraries/src/Application/CMSApplication.php:195
10 Joomla\CMS\Application\CMSApplication->execute() JROOT/index.php:49
Какие возможные причины и пути их устранения?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибка 0 - Using $this when not in object context
« Ответ #1 : 16.09.2018, 20:05:55 »
/plugins/system/expiresheaders/expiresheaders.php строка 24 заменитe статический вызов на JFactory::getApplication()->getMenu()
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Olg

  • Завсегдатай
  • 1181
  • 90 / 2
Re: Ошибка 0 - Using $this when not in object context
« Ответ #2 : 16.09.2018, 20:28:35 »
Спасибо. Всё работает. А как вы вычислили ошибку и это решение?
« Последнее редактирование: 16.09.2018, 20:31:43 от Olg »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибка 0 - Using $this when not in object context
« Ответ #3 : 16.09.2018, 20:33:28 »
ну так все написано в логе ошибки :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 1323
Последний ответ 06.04.2025, 09:27:20
от wishlight
Ошибка 0 Call to undefined function GuzzleHttp\choose_handler()

Автор Alllex

Ответов: 0
Просмотров: 840
Последний ответ 15.03.2024, 21:03:09
от Alllex
Ошибка version_compare(): Argument #3 ($operator)

Автор Шмайсер

Ответов: 1
Просмотров: 1190
Последний ответ 07.11.2023, 20:44:21
от fsv
reCapcha во всплывающем окне - "Ошибка защиты от спама"

Автор Dannik

Ответов: 12
Просмотров: 2427
Последний ответ 14.09.2023, 18:59:24
от all_zer
Ошибка 1054 Unknown column 'created_by' in 'field list' VirtueMart

Автор Evgen Kulibin

Ответов: 3
Просмотров: 1338
Последний ответ 26.02.2023, 01:56:42
от lakshmi