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

mari-23

  • Новичок
  • 8
  • 1 / 0
Здравствуйте, уважаемые форумчане!

У меня такая проблема, изначально Joomla была 3.2.1 были обновления, но при попытке автоматически обновится, сразу error , попробовала обновить в ручную получилось обновить до версии 3.4.0, но заметила, что кнопочки в меню админки, те что при материале или модулях, должны сохранять или сохранить и закрыть не работают вообще, только отмена или закрыть. Ребята, кто знает что можно сделать? Только пожалуйста рассказывайте по подробнее, а то я не специалист, а так.  !

Спасибо всем, кто откликнется ответом на мой вопрос!
*

2GooD

  • Новичок
  • 9
  • 0 / 0
+1
Установил Joomla вместе с шаблоном от RT (joomla v.3.1), все норм, обновил Joomla до 3.2.7 - тоже норм, обновился до финальной Joomla 3.4.0 - теперь не могу создать материал/категорию/модуль. Помогите ! ! !
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

2GooD

  • Новичок
  • 9
  • 0 / 0
как не странно на след. день все заработало (также был почищен кэш браузера)
*

ViktorMah

  • Захожу иногда
  • 253
  • 30 / 0
А у меня такая проблема вылезла после переноса сайта АКЕБАй с локали(Open Server с настройкой РНР-5.4) на хостинг с РНР 5.3.
Очистка кэшей не помогает.
Заливка файлов из дистрибутива поверх сайта результатов тоже не дала.

В консоли фаербага, на проблемном сайте, при открытии модуля на редактирование такая картина:
Цитировать
14:40:36.418 Метод getAttributeNode() является устаревшим. Для его замены используйте метод getAttribute(). mootools-core.js:108:0
14:40:36.432 TypeError: Window.onDomReady is not a function validate.js:164:0
14:40:36.482 TypeError: Window.onDomReady is not a function combobox.js:113:0
14:40:36.663 ReferenceError: $extend is not defined modal.js:368:1
14:40:37.473 TypeError: SqueezeBox is undefined index.php:93:3
при нажатии на кнопку сохранить добавляются еще две строки
Цитировать
14:41:46.537 TypeError: document.formvalidator is null index.php:47:0
14:41:46.545 Пустая строка не может быть аргументом метода getElementById(). jquery.min.js:2:0

Изначально сайт делал на чистой Joomla 3.4.0 stab + JoomShopping
*

Vasiliy111

  • Захожу иногда
  • 248
  • 5 / 0
Тоже обновился до версии 3.4.0, теперь в админке при попытке "изменить профиль пользователя" выдает белый экран:

Fatal error: Call to a member function getTable() on a non-object in /var/www/p300755/data/www/sovetprivata.com.ua/libraries/legacy/controller/form.php on line 366

Может кто сталкивался с такой проблемой?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Тоже обновился до версии 3.4.0, теперь в админке при попытке "изменить профиль пользователя" выдает белый экран
Может кто сталкивался с такой проблемой?
Возьмите полный дистрибутив данной версии и залейте поверх все папки и файлы кроме instaliation
*

ViktorMah

  • Захожу иногда
  • 253
  • 30 / 0
Для себя проблему решил переводом хостинга на РНР-5.4.28
*

antanariva

  • Новичок
  • 9
  • 0 / 0
Откатился до 3.3.4, перешел на php 5.4 Проблема остаётся при создании HTML модуля. Есть решение?
« Последнее редактирование: 15.04.2015, 14:32:59 от antanariva »
*

2GooD

  • Новичок
  • 9
  • 0 / 0
Попробуйте с другого браузера зайти и внести изменения, уверен на 99.99% что изменения сохранятся.
*

alesam

  • Новичок
  • 9
  • 0 / 0
шаблон панели управления какой? isis? если да то я решил переключением на другой шаблон (корявый вариант - но вариант)
*

Alek99

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Почистил кэш браузера - отпустило.
*

mari-23

  • Новичок
  • 8
  • 1 / 0
Здравствуйте, уважаемые форумчане! Объясните пожалуйста чайнику по подробнее, как заменять версии Joomla 3.2.1 на более новые если автоматическое обновление не работает вот такая ошибка при обновлении. ERROR:
The archive file is corrupt, truncated or archive parts are missing  Как правильно заливать или переливать Joomla объясните по шагово пожалуйста? Спасибо всем вам за ответы!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Помогите с БАГом в панели администратора Joomla 3

Автор akteon25

Ответов: 2
Просмотров: 472
Последний ответ 26.02.2025, 16:41:56
от akteon25
Версии РНР и Joomla 3

Автор Ebelous

Ответов: 8
Просмотров: 2153
Последний ответ 27.01.2025, 20:38:45
от pavelrer
Trouble Upgrading from Joomla 3.8 to 3.9

Автор melissa00

Ответов: 0
Просмотров: 1203
Последний ответ 26.07.2024, 10:03:51
от melissa00
SP polls в Joomla 3.8.2

Автор wawont

Ответов: 2
Просмотров: 2850
Последний ответ 22.02.2024, 21:03:15
от Zegeberg
Исправление уязвимости в Joomla 3.10.12

Автор Sulpher

Ответов: 8
Просмотров: 2471
Последний ответ 12.01.2024, 22:15:52
от stepan39