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

lilu

  • Новичок
  • 7
  • 0 / 1
Модуль новостей
« : 16.07.2006, 17:34:10 »
Приветик, нужен модуль новостей который  может содержимое бить на странички.
Иними словами есть список нвостей
{заголовок, дата, вступление и ссылка на подробнее}
и он начинает не по детски рости :(

Очень хотелось бы чтобы он бился на странички...

*

Fon

  • Новичок
  • 0
  • 26 / 2
Re: Модуль новостей
« Ответ #1 : 16.07.2006, 17:45:35 »
так это стандартные возможности блога.. что не устраивает-то?
*

lilu

  • Новичок
  • 7
  • 0 / 1
Re: Модуль новостей
« Ответ #2 : 16.07.2006, 17:51:20 »
Не устраивает формат вывода стандартными возможностями блога
Нужно еденицу списка орисовать слева дата, справа title+intro....

Где так:

<table>
<tr>
<td>дата</td><td> название<br /> вступление</td>
</tr>
</table>
Я уже вижу место где ето можна поправить... но етож в стандатрной поставке, а не отдельний модуль, И такую операцию придется делать при каждом апдейте  >:(
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Модуль новостей
« Ответ #3 : 16.07.2006, 18:25:02 »
забудь про модули.
их не поддерживают мамботы.
а com_content всегда можно переделать ;)

Не устраивает формат вывода стандартными возможностями блога
Нужно еденицу списка орисовать слева дата, справа title+intro....
не совсем понятно, что значит "справа"/"слева"... если просто выравнивание, то это легко решается с помощью CSS.
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

lilu

  • Новичок
  • 7
  • 0 / 1
Re: Модуль новостей
« Ответ #4 : 16.07.2006, 20:19:24 »
Если в код модуля через например каждых 10 виведеных едениц добавлять {mospagebreak}
То оно контент списка делится на странички!  ::)  Как рас то что нужно!

А вот если выводить етот модуль на главной {mospagebreak} не работает и вываливается на страничку  :dry: ех...
« Последнее редактирование: 16.07.2006, 20:22:39 от lilu »
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Модуль новостей
« Ответ #5 : 16.07.2006, 20:25:17 »
Если в код модуля через например каждых 10 виведеных едениц добавлять {mospagebreak}
это как?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

lilu

  • Новичок
  • 7
  • 0 / 1
Re: Модуль новостей
« Ответ #6 : 16.07.2006, 20:45:53 »
в файлике модуля mod_some_module_for_news_display.php

Делаем выборку из бази всех новостей

В цикле выводим список новостей {

foreach ($rows as $row) {
echo "<div>";
echo --->тут Выводим еденици списка {$row->title, $row->introtext, $row->date }
echo "</div>";
}
 
а после каждой 10-ой еденици списка говорим echo "{mospagebreak}";

Мож оно и не очень логично, зато работает. Правда везде кроме того момента когда модуль выводим на главной  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль расширенных результатов ARI Quiz Results

Автор Beer

Ответов: 0
Просмотров: 270
Последний ответ 03.02.2025, 15:27:35
от Beer
Модуль для отображения курсов валют

Автор Геон

Ответов: 2
Просмотров: 1555
Последний ответ 03.02.2024, 22:19:02
от Геон
Модуль «Image Show gk4», не отображается ни картинка, ни текст

Автор kaasin

Ответов: 1
Просмотров: 3055
Последний ответ 13.05.2023, 15:42:15
от anastasya96
Стандартный модуль случайного изображения не выводит фотографии

Автор strix

Ответов: 8
Просмотров: 7511
Последний ответ 19.10.2022, 16:07:11
от Andrej_777
Модуль тегов Joes Word Cloud для Joomla 3

Автор ecolora

Ответов: 1
Просмотров: 2325
Последний ответ 05.05.2022, 19:04:44
от ecolora