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

rezchik

  • Захожу иногда
  • 109
  • 0 / 0
Заголовок в beez3
« : 28.01.2024, 15:21:53 »
после обновления Joomla 3 до 3.10.12 ширина изображения заголовка в шаблоне beez3 уменьшилось в несколько раз
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Re: Заголовок в beez3
« Ответ #1 : 28.01.2024, 19:41:41 »
после обновления Joomla 3 до 3.10.12 ширина изображения заголовка в шаблоне beez3 уменьшилось в несколько раз
beez3 престали поддерживать задолго до кончины J3. Вы наверное обновлялись с какой-то совсем старой тройки, что до этого у вас работало. Протостар был основным дефолтным. Так что сейчас самому придется beez3 править.
Веб-разработка: заказ. Только новая разработка.
*

rezchik

  • Захожу иногда
  • 109
  • 0 / 0
Re: Заголовок в beez3
« Ответ #2 : 30.01.2024, 21:38:18 »
У меня еще 2 сайта на 3.10.12 и на beez3. Там отображается все нормально. Посмотрел куда ведут ссылки на logoheader. На одном на personal. scc 416, в другом на tyrg.scc 355. На рассматриваем на (index) 21, именно в скобках. В нем на шаблоне сайта  не обнаружил ссылки.. Заменил папку templates на папку другово сайта, логотип увеличился вдвое, но не до нужных размеров. Ссылка (index) 21 осталась. Название на логотипе состоит из 3 слов, их поставил в столбик, уменьшив ширину шаблона. Логотип принял нужную ширину, которая была до этого. На этом и остановился.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Заголовок под картинкой

Автор phvsfpgs

Ответов: 2
Просмотров: 781
Последний ответ 27.09.2023, 22:58:01
от all_zer
Как сделать вводный текст чтобы его заголовок выводился как h2 а не h1 Joomla 3?

Автор Алексей358

Ответов: 51
Просмотров: 1871
Последний ответ 05.10.2021, 15:17:58
от draff
Текущий заголовок материала Joomla

Автор lgmax

Ответов: 10
Просмотров: 1094
Последний ответ 20.06.2021, 15:48:58
от fbr
Определить заголовок материала Joomla

Автор lgmax

Ответов: 1
Просмотров: 632
Последний ответ 18.06.2021, 15:27:01
от lgmax
Заголовок от последнего материала на всех ссылках сайта

Автор Oscol

Ответов: 0
Просмотров: 820
Последний ответ 26.05.2021, 19:10:16
от Oscol