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

TerminatorTM

  • Новичок
  • 2
  • 0 / 0
Не нашел такой настройки.
Понимаю, что в user.css надо использовать что-то вроде
Код
justify-content: center !important;
но не могу понять, какой именно элемент переопределять надо.

Или это можно еще как-то в макете модифицировать (для более сложного случая, когда на разных страницах нужно иметь разное выравнивание)?
« Последнее редактирование: 08.03.2025, 23:15:03 от TerminatorTM »
*

TerminatorTM

  • Новичок
  • 2
  • 0 / 0
Вроде разобрался (я вчера всё правильно делал, но в ночи не увидел потерянную скобку...):

Код
/*Заголовок материала по центру*/
.page-header h1 {
text-align: center;
}

Код
/*Заголовок категории по центру*/
.com-content-category-blog h1 {
text-align: center;
}

Не уверен, что нет побочных действий (в частности второго, для категорий), но пока не заметил.

P.S. Данный вариант для всех страниц разом. А вот как сделать для конкретных страниц (ну кроме как делая дочерний стиль и применяя его к нужным страницам) - идей нет.
« Последнее редактирование: 09.03.2025, 00:33:49 от TerminatorTM »
*

fbr

  • Завсегдатай
  • 1657
  • 201 / 7
Если странице присвоен пункт меню, то в настройках пункта есть css-класс страницы
задаете какой-то (лучше вменяемое имя) класс name-class-1
и применяете стиль уже конкретно к этой странице
.name-class-1 .com-content-category-blog h1 {...}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка при установке Joomla 5 на Open Server 6.0

Автор Mnojitell

Ответов: 5
Просмотров: 326
Последний ответ 03.04.2025, 11:36:11
от Akeksandr
Отключить многофакторную аутентификацию в Joomla 5

Автор Kukush

Ответов: 5
Просмотров: 480
Последний ответ 08.03.2025, 20:49:20
от Kukush
Вопрос по шаблону Protostar для Joomla 5

Автор Mick_20

Ответов: 2
Просмотров: 329
Последний ответ 06.03.2025, 12:24:37
от web1
[Решено] Вывод значений из custom fields материала в блоге категории без getDbo

Автор goga_pgasovav

Ответов: 4
Просмотров: 409
Последний ответ 05.03.2025, 14:36:13
от goga_pgasovav
Условия в шаблонах Joomla 4.X и 5.X

Автор goga_pgasovav

Ответов: 11
Просмотров: 1403
Последний ответ 05.03.2025, 14:18:22
от goga_pgasovav