Новости 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 

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

Abitatel

  • Захожу иногда
  • 52
  • 10 / 0
настройка Header Image
« : 06.09.2006, 06:47:50 »
Установил модуль, а в настройках никак не могу разобраться...
создал отдельную папку скартинками для вывода на страницу...
но вот каким образом картинки к разным разделам сайта привязывать? их как-то по хитрому обзывать, или же еще что-то?

может кто-то объяснить "на пальцах" ? : ))))
*

mavik

  • Давно я тут
  • 570
  • 86 / 2
Re: настройка Header Image
« Ответ #1 : 06.09.2006, 09:23:05 »
На сколько я помню, в настройках модуля указывается шаблон имени файла, Например head-#.jpg
Файлу, который должен отображаться при выбранном пункте меню (или в разделе, смотря к чему привяжете в настройках), надо дать название head-<id пункта>.jpg
www.mavik.com.ua - Создание веб-сайтов на основе CMS Joomla.
Создание компонентов и модулей.
*

Abitatel

  • Захожу иногда
  • 52
  • 10 / 0
Re: настройка Header Image
« Ответ #2 : 06.09.2006, 12:05:24 »
ок! все получилось! спасибо!
*

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
Re: настройка Header Image
« Ответ #3 : 16.10.2006, 18:42:03 »
А как сделать, чтобы картинки автоматически уменьшались до нужного размера, например, ширины?
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль «Image Show gk4», не отображается ни картинка, ни текст

Автор kaasin

Ответов: 1
Просмотров: 3065
Последний ответ 13.05.2023, 15:42:15
от anastasya96
Настройка JL No Doubles

Автор Messer

Ответов: 33
Просмотров: 10683
Последний ответ 14.12.2021, 16:57:58
от Beer
Модуль ja image hotspot не дает сделать много меток

Автор Lemonez

Ответов: 0
Просмотров: 1276
Последний ответ 05.01.2020, 13:28:47
от Lemonez
sp weather от joomshaper - настройка

Автор sokoll

Ответов: 1
Просмотров: 900
Последний ответ 27.11.2019, 08:03:12
от AlexB
SP Simple Portfolio настройка фильтра тэгов

Автор Alex174

Ответов: 0
Просмотров: 1231
Последний ответ 29.08.2019, 13:26:55
от Alex174