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

createa

  • Захожу иногда
  • 263
  • 0 / 1
Рекомендации таковы:
1. из всех URL нужно убрать /index.php/
2. все ссылки должны заканчиваться слешем "/", с тех, что не заканчиваются - переадрессация на вариант со слешем
3. теги meta_generator нужно убрать на всех страницах и вообще желательно замаскировать сайт, чтобы не было видно что он сделан на Joomla.
4. вообще meta-теги подчистить, много мусора, но нет meta_description и meta_keywords

Прошу подсказать по пунктам, как все это сделать толково.
Joomla 3
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
1. про это мульён раз спрашивалось\отвечалось, принципиально не отвечу -> в Google!
2. спорно. Joomla генерит урлы без слэша, стоит так и оставить
3.
Код
<?php $this->setGenerator(null); ?>  
       - в шаблон, рядом с <jdoc:include type="head" />
4. ---
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3

3.
Код
<?php $this->setGenerator(null); ?>  
       - в шаблон, рядом с <jdoc:include type="head" />

Рядом, имеется ввиду сбоку, справа, слева или внизу? Этот код полезен для сайта?
*

createa

  • Захожу иногда
  • 263
  • 0 / 1
1. про это мульён раз спрашивалось\отвечалось, принципиально не отвечу -> в Google!
2. спорно. Joomla генерит урлы без слэша, стоит так и оставить
3.
Код
<?php $this->setGenerator(null); ?>  
       - в шаблон, рядом с <jdoc:include type="head" />
4. ---



в какой конкретно файл нужно это поставить?
« Последнее редактирование: 21.02.2013, 18:53:34 от createa »
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ищу людей по оптимизации и продвижению сайта

Автор capitalcoins

Ответов: 1
Просмотров: 905
Последний ответ 03.11.2018, 15:53:12
от kikimora17
Скрипт оптимизации изображений по рекомендациям Google Pagespeed (для vps)

Автор ChaosHead

Ответов: 0
Просмотров: 1401
Последний ответ 06.11.2015, 12:58:43
от ChaosHead
Кто что посоветует по оптимизации?

Автор kuznetsov_ru

Ответов: 4
Просмотров: 1560
Последний ответ 20.02.2013, 13:09:44
от kuznetsov_ru
По "Советам по оптимизации"

Автор Maxum

Ответов: 15
Просмотров: 2020
Последний ответ 20.01.2013, 11:52:56
от Maxum
Муки при оптимизации под поисковые системы

Автор golfstream

Ответов: 25
Просмотров: 2842
Последний ответ 21.10.2012, 01:10:18
от golfstream