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

Если в компоненте используется Auto-Mapping контента и названия статей на русском, то он создаёт ссылки типа http://site.com/read/yiaaey_eiioaeo.html
Реально ли как-то это исправить? Например, чтоб название файла латинкой забивалось?
*

userxp

  • Moderator
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: OpenSEF - названия статей на русском
« Ответ #1 : 10.04.2006, 15:45:24 »
зайди в настройки OpenSEF и поставь юзать не заголовки, а алиасы (псевдонимы) и записывай их на английском
пока это самый приемлимый вариант

я выставлял так:
суффикс: .html
стрктура: /категория/заголовок
раздел: заголовок
категрия: заголовок
материал: псевдоним

у раздела/категории
заголовок: по английски
имя раздела: по русски
« Последнее редактирование: 31.05.2006, 11:20:01 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3

Re: OpenSEF - названия статей на русском
« Ответ #2 : 10.04.2006, 16:30:49 »
ах.. да.. спасибо именно так и делал, но не заметил Поле заголовка материала. Была идея как раз и использовать алиасы.. проверил работает ли так.. по умолчанию оказалось нет.. не заметил настройки вообщем..
*

Patrick

  • Захожу иногда
  • 122
  • 6 / 12
Re: OpenSEF - названия статей на русском
« Ответ #3 : 31.05.2006, 04:38:27 »
у меня косяк вот какой - из одного и того же раздела, две новости выводятся по разному. Одна в нормальном формате, другая ввиде a_eaaaea/eae_ia_neodii_aoaou_a_aaoiaona

Все проделал, как вы описывали в посте про альясы
*

userxp

  • Moderator
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: OpenSEF - названия статей на русском
« Ответ #4 : 31.05.2006, 11:19:37 »
какая версия опенсефа?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

костикTITS

  • Осваиваюсь на форуме
  • 16
  • 2 / 0
Re: OpenSEF - названия статей на русском
« Ответ #5 : 04.06.2006, 17:34:23 »
У меня тоже ссылки получаются такими: http://vozhatyi.ru/iaoiaedea/a_eaaaea/eae_ia_neodii_aoaou_a_aaoiaona.html

Только, если можно, поконкретнее что и куда нажимать чтобы исправить? :)
Вроде нигде этого не написано, возможно за своей очевидностью, но сам я намучался, пока догадался, поэтому вот решение:

В конфигурации, в закладке “Замена” надо написать вот эти две строчки
Код
а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я,А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Ь,Э,Ю,Я
и ниже:
Код
a,b,v,g,d,e,e,zh,z,i,y,k,l,m,n,o,p,r,s,t,u,f,h,c,ch,sh,sch,,y,,e,yu,ya,A,B,V,G,D,E,E,Zh,Z,I,Y,K,L,M,N,O,P,R,S,T,U,F,H,C,Ch,Sh,Sch,,Y,,E,Yu,Ya
(обратите внимание на двойные запятые — они должны быть ;))

Теперь можно в названии статьи оставлять только одно поле заполненным, более того, по русски (но если нужно “красивое” название, то его можно написать во втором поле).
*

Patrick

  • Захожу иногда
  • 122
  • 6 / 12
Re: OpenSEF - названия статей на русском
« Ответ #6 : 05.06.2006, 01:12:09 »
какая версия опенсефа?

OpenSEF 2.0.0-RC5_SP2
*

userxp

  • Moderator
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: OpenSEF - названия статей на русском
« Ответ #7 : 05.06.2006, 12:12:19 »
а почему бы "мою" не поставить?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Patrick

  • Захожу иногда
  • 122
  • 6 / 12
Re: OpenSEF - названия статей на русском
« Ответ #8 : 06.06.2006, 03:41:50 »
а почему бы "мою" не поставить?

я по твоим ссылкам и качал, которые ты в форуме давал)
*

userxp

  • Moderator
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: OpenSEF - названия статей на русском
« Ответ #9 : 06.06.2006, 11:51:29 »
точно?
у меня русские буквы проходят транслитерацию...
может, они почему-то у тебя не распознаются?
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин OpenSEF для VirtueMart

Автор userxp

Ответов: 203
Просмотров: 133583
Последний ответ 21.03.2012, 16:34:27
от Businessman
Как установить OpenSef

Автор benladen

Ответов: 7
Просмотров: 12133
Последний ответ 14.02.2012, 12:16:50
от jade
OpenSef - не получается настроить

Автор Tonik1

Ответов: 117
Просмотров: 88842
Последний ответ 24.04.2010, 14:17:15
от yevrowl
Глючат пункты меню из-за OpenSEF 2.0.0-RC5_SP2

Автор vlaad

Ответов: 2
Просмотров: 8532
Последний ответ 12.11.2009, 00:49:14
от soulfly
OpenSEF 2.0.0 RC5\joostina 1.2 не дает сделать авторизацию

Автор romans13

Ответов: 2
Просмотров: 7700
Последний ответ 19.10.2009, 23:14:20
от romans13