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

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Добрый день!

Ребят, кто в теме, подскажите пожалуйста... Перевел сайт с друпала на Joomla. В итоге появилось много урлов с ошибками 404. Эти урлы мне не нужны, они вообще левые какие-то (типа того: /taxonomy/term/192/0/feed ). Из карты сайта я их исключил. Тем не мне, судя по счетчику, к ним есть много обращений. Видимо, это боты Google и Яндекс.

Подскажите, что с ними делать?
- Делать перенаправление на главную или еще куда-то?
- Не трогать, и поисковики, видя что это страницы 404, сами их исключат из поиска?
- Исключать каждый такой URL в robots.txt?
- или что-то еще?

Заранее спасибо!
« Последнее редактирование: 13.04.2020, 19:01:53 от dron »
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Что делать с ошибочными урлами?
« Ответ #1 : 10.04.2020, 20:07:05 »
- Делать перенаправление на главную или еще куда-то?
Да, в идеале туда где сейчас та страничка

- Не трогать, и поисковики, видя что это страницы 404, сами их исключат из поиска?
Тоже можно, если страницы не важны и на них нет трафика

- Исключать каждый такой URL в robots.txt?
Нет, нет смысла
*

Gosha5767

  • Захожу иногда
  • 487
  • 27 / 0
Re: Что делать с ошибочными урлами?
« Ответ #2 : 10.04.2020, 20:12:54 »
А если 404 ссылки присутствуют непосредственно в контенте, то нужно их удалить.
Чистка сайта от дублей в Яндекс и Google.
Миграция Joomla 1.5 до Joomla 3.хх
Доработка сайта
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Что делать с ошибочными урлами?
« Ответ #3 : 10.04.2020, 22:17:16 »
Цитата: dron от Сегодня в 18:12:45

    - Делать перенаправление на главную или еще куда-то?

Да, в идеале туда где сейчас та страничка
А как поисковики их будут видеть? Они так навсегда и останутся для них как страницы с 301 редиректом? Или со временем поисковики их выкинут?
*

voland

  • Легенда
  • 11028
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Что делать с ошибочными урлами?
« Ответ #4 : 10.04.2020, 22:23:46 »
Выкинут.
При условии отсуствия входящих ссылок
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Что делать с ошибочными урлами?
« Ответ #5 : 11.04.2020, 12:01:15 »
Выкинут.
При условии отсуствия входящих ссылок
Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено!] Изменились адреса старниц. Что делать?

Автор dron

Ответов: 14
Просмотров: 1024
Последний ответ 13.07.2020, 14:01:32
от dron
[Решено] RSseo и перенаправления

Автор dron

Ответов: 2
Просмотров: 844
Последний ответ 13.03.2020, 10:25:57
от dron
[Решено] rel="canonical" Joomla 3 как удалить

Автор GraD

Ответов: 113
Просмотров: 52838
Последний ответ 16.02.2020, 09:47:25
от scenann
Чудеса маршрутизации на Joomla или чертовщина с материалами [РЕШЕНО]

Автор dm-krv

Ответов: 9
Просмотров: 1030
Последний ответ 06.07.2019, 10:56:58
от dmitry_stas
[Решено] Simple Image Gallery Pro - картинки поисковиками вообще не индексируются?

Автор NathanD

Ответов: 13
Просмотров: 6307
Последний ответ 22.05.2019, 10:44:16
от artis72