Новости Joomla

Рендер пользовательского поля внутри другого пользовательского поля. Joomla 5.3

Писал ранее о том, как внутри одного пользовательского поля рендерить другое пользовательское поле. Применил для этого возможность Joomla обращаться к методам плагинов напрямую. Процитирую строчку кода из предыдущего поста:

<?php
$joomlaFieldContentPlugn->onContentPrepare('com_content.article', $fakeItem, $app->getParams());

Joomla постепенно переходит от простого указания аргументов для триггеров плагинов к собственным классам событий. Это позволяет не запоминать порядок передачи аргументов класса и использовать человекопонятные методы $event->getContext(), $event->getItem() и т.д. А то в одном месте в Joomla было $article, в другом - $item, в третьем ещё как-то... Порядку больше становится.

Сегодня обновил сайт клиентов до Joomla 5.3. В ней обновили контент-плагин fields и мой финт ушами с вызовом метода плагина отвалился потому, что я передавал в нём 3 аргумента, вместо одного. И для события onContentPrepare это должен быть объект класса ContentPrepareEvent. Как меняется фрагмент кода из предыдущего поста:

<?php
// мы находимся в файле макета поля

use Joomla\CMS\Event\Content\ContentPrepareEvent;
use Joomla\CMS\Factory;

$app = Factory::getApplication();
$fakeItem = new \stdClass();
// Получаем id текущего материала из объекта Input
$fakeItem->id = $app->getInput()->getInt('id');
// {field 29} - это шорт код вставки поля с id 29 - "ассортимент проекта"
// к содержимому поля конкатенируем шорт-код для обработки
$fakeItem->text = $field->value . '{field 29}';
// Получаем объект плагина
$joomlaFieldContentPlugn = $app->bootPLugin('fields', 'content');
// вызываем метод обработки напрямую
// вместо 3-х аргументов теперь указываем один
// это объект класса ContentPrepareEvent
$joomlaFieldContentPlugn->onContentPrepare(new ContentPrepareEvent('onContentPrepare', [
            'context' => 'com_content.article',
            'subject' => $fakeItem,
            'params'  => $app->getParams(),
            'page'    => 0,
        ]));
// выводим оба поля
echo $fakeItem->text;

@webtolkru 

Вышел релиз Joomla 5.3.0

Вышел релиз Joomla 5.3.0

Проект Joomla с радостью объявляет о выходе Joomla 5.3 — последней минорной версии в серии Joomla 5.

Этот релиз сосредоточен на продуманных улучшениях, которые совершенствуют работу с CMS. От лучшей организации файлов и журналирования задач до расширенной обработки электронной почты и улучшенной доступности — Joomla 5.3 помогает администраторам и разработчикам работать более эффективно, сохраняя ваш сайт современным, безопасным и готовым к будущему.

0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 11759 Просмотров
*

beagler

  • Живу я здесь
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Как поменять версию PHP?
« : 30.01.2008, 09:52:07 »
Сегодня получил письмо:
Код
Информируем Вас о том, что теперь в нашей Контрольной Панели появились следующие возможности: 
° редактирование MIME-типов
° назначение обработчиков
° назначение страниц ошибок
° изменение версии PHP
° закрытие паролем всего сайта или отдельной директории
° ограничение доступа по IP-адресу
° создание алиаса к хостингу

С уважением, Хостинг-Центр РБК.

Как это сделать? В ОКП ничего не нашел.
*

Хостинг-Центр

  • Захожу иногда
  • 56
  • 3 / 1
Re: Как поменять версию PHP?
« Ответ #1 : 30.01.2008, 12:02:42 »
Добрый день!

Новые функции в ОКП отмечены значком NEW. Возможность смены версии PHP находится во вкладке "Настройки веб-сервера".

С уважением, ХЦ РБК
*

beagler

  • Живу я здесь
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

Хостинг-Центр

  • Захожу иногда
  • 56
  • 3 / 1
Re: Как поменять версию PHP?
« Ответ #3 : 30.01.2008, 13:57:21 »
Попробуйте обновить страницу при помощи Ctrl+F5.
Вкладка включает в себя и PHP:



С уважением, ХЦ РБК.
*

Хостинг-Центр

  • Захожу иногда
  • 56
  • 3 / 1
Re: Как поменять версию PHP?
« Ответ #5 : 30.01.2008, 16:42:58 »
Мне сразу не пришло в голову, простите, а какой у Вас тариф?

С уважением, ХЦ РБК.
*

Хостинг-Центр

  • Захожу иногда
  • 56
  • 3 / 1
Re: Как поменять версию PHP?
« Ответ #7 : 31.01.2008, 13:29:54 »
Здравствуйте!

На тарифе Оптима. доступно использование PHP, но очевидно ваш хостинг располагается на одном из старых серверов, на которые устанавливалась только одна версия PHP (4й линейки). Если вам необходима более новая версия PHP, обратитесь, пожалуйста, в службу технической поддержки по адресу support@hc.ru и попросите перенести ваш хостинг на сервер на котором доступны несколько версий PHP. После переноса Вы сможете воспользоваться сменой версии PHP в ОКП.

С уважением, ХЦ РБК.

*

beagler

  • Живу я здесь
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Re: Как поменять версию PHP?
« Ответ #8 : 31.01.2008, 20:49:01 »
:)
Спасибо, пока не надо. Кстати, у меня PHP 5.1.2
С Вашеми серверами не угадаешь - на этом всё нормально крутится, так пусть и остаётся.

Вопрос в догонку - есть желание установить Magento CMS. Для этого необходимо устанавливать дополнительные модули - php_mcrypt.dll, php_curl.dll и php_pdo_mysql.dll. Как решать этот вопрос? Через техподдержку?
*

Хостинг-Центр

  • Захожу иногда
  • 56
  • 3 / 1
Re: Как поменять версию PHP?
« Ответ #9 : 07.04.2008, 14:53:44 »
Я несколько лет работал с данной организацией, остались очень плохие воспоминания в виде лежащих по нескольку часов сайтов из-за падения выделенного сервера MySQL и прочих мелких пакостей. За прошедшие три года я думаю там могло всё измениться в лучшую сторону (а могло и в другую), но лично я не уверен. Да простит меня модератор, но удержаться не смог, несмотря на то, что дела давние, очень много пакостей от вас натерпелся. Надеюсь, сейчас работаете лучше.

Здравствуйте!

Спасибо Вам за Ваше мнение! Заводя этот раздел в форуме мы, разумеется, не надеялись исключительно на положительные комментарии. Так что Ваше отношение к нашей работе весьма важно для нас.
Благодаря, в частности, и подобным отзывам, мы стараемся совершенствовать качество своей работы.

С уважением, ХЦ РБК.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться