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

slon1k

  • Новичок
  • 8
  • 0 / 0
и хлебные крошки дубляться в каталоге и карточке товара который стоит под virtual mart
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Так у вас не подряд идут дублирующие категории. Тут по-другому можно попробовать: собрать все заголовки в массив, потом при каждом проходе сравнивать тайтл с массивом.
*

slon1k

  • Новичок
  • 8
  • 0 / 0
Так у вас не подряд идут дублирующие категории. Тут по-другому можно попробовать: собрать все заголовки в массив, потом при каждом проходе сравнивать тайтл с массивом.
А именно шарить фацйлы нужно в модуле хлебных крошек или бить VirtueMart, есть ли возможность вообще отключить хлебные крошки в VirtueMart?
« Последнее редактирование: 25.05.2015, 10:44:29 от slon1k »
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Не знаю, не работаю с VirtueMart.
*

saviour-one

  • Новичок
  • 2
  • 0 / 0
Испробовал все перечисленные способы, так категории не ушли :-(
Выложил исходник крошек.  ! !
Спойлер
[свернуть]
*

typhoon3d

  • Новичок
  • 1
  • 0 / 0
Доброго времени суток,
Тема еще жива?
Возникла проблема, связанная с отображением хлебных крошек. Нужно исключить пункт, который является разделителем меню, из того что было предложено тут, ничего не помогает, сам модуль переопределен шаблоном и уже модифицирован под шаблон (шаблон клубный)
Сейчас ХК выглядят так - Главная\Товары\Категории\Категория 1\Товар 1
а нужно чтобы было так - Главная\Товары\Категория 1\Товар 1
Код хлебных крошек сейчас выглядит так:
Спойлер
[свернуть]
Joomla 3.7.3, шаблон от студии Joomshaper
Прошу помощи разбирающихся в PHP
*

Chit

  • Новичок
  • 7
  • 0 / 0
Добрый день! ПРоблема тоже с отображением "хлебных крошек".
Как убрать отображение категории в хлебных крошках?  Есть пункт меню "Шенген" и категория в К2 "Шенген". В настройках везде убрал отображение категорий, но проблема не решилась. полный путь выглядит следующим образом:  "ГЛАВНАЯ- ВИЗЫ- ШЕНГЕН- ШЕНГЕН -ВИЗА В ВЕНГРИЮ".
сайт http://www.mosvisacenter.ru
Заранее благодарю!
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
здра.
так это не крошки виноваты, а со структурой что-то не то
https://mosvisacenter.ru/all-visa/schengenvisa/content/schengenvisa
https://mosvisacenter.ru/all-visa/schengenvisa

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

Руководство пользователя Joomla! 2.5 + 10 легких шагов к освоению Joomla! 3 (книги в pdf)

Автор Marques

Ответов: 69
Просмотров: 198186
Последний ответ 31.01.2025, 12:42:10
от brat_ii
Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 1
Просмотров: 2482
Последний ответ 17.12.2024, 00:13:11
от brat_ii
Почему в админке Joomla 2.58 - у меня 16 админов показывает?

Автор dyalex

Ответов: 8
Просмотров: 3692
Последний ответ 09.12.2024, 23:36:51
от brat_ii
Joomla 2.5.28, Safari под маком и сессии session

Автор beliyadm

Ответов: 19
Просмотров: 4819
Последний ответ 29.03.2023, 12:17:19
от Sawell
Joomla 2.5.28 как скачать все файлы через панель управления

Автор Sergei41984

Ответов: 7
Просмотров: 2927
Последний ответ 27.12.2022, 23:30:38
от Sergei41984