Новости Joomla

Process Forge — фреймворк для создания AI-процессов.

Process Forge — фреймворк для создания AI-процессов.

На новогодних каникулах 2026 в одном из чатов Joomla-сообщества коллега по цеху поделился промптом для ИИ-агента и результатом этого промпта. За неделю до этого он впервые попробовал Gemini CLI. Я до этого ИИ пользовался только в веб версиях и в целом меня это устраивало. Увидев простыню текста, запрос в CLI и простыню ответа первое, что меня охватило: "Я НЕ ХОЧУ вот это всё изучать! Опять что-то новое, надоело...".

Потом были стадии проб и ошибок, попыток использовать готовые пакеты community skills с гитхаба с ролевым внушением "ты супер-пупер мега-бэкенд-Joomla разработчик с 40-летним опытом, сделай мне красиво". Где-то в середине этого полугодия я стал формализовать свои процессы (а это не только разработка, но и SEO, аналитика, бизнес-аналитика, проработка и выстраивание процессов и т.д., но в итоге это, как правило, или связано с или ведёт к сайту на Joomla). Формализация привела к моему пониманию некоторых базисов, которые общие для всех процессов. Об этом чуть ниже.

Теперь я хочу представить на суд уважаемой публике свои наработки по фреймворку для создания формализованных процессов работы для ИИ-агентов - Process Forge.

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 9789 Просмотров
*

westward

  • Осваиваюсь на форуме
  • 11
  • 4 / 0
Здравствуйте!

Выяснилось, что стандартный компонент поиска с включенным SEO, если слово или фраза содержат заглавную русскую "Р", работает неправильно. Из-за скромных познаний в теме пришлось долго и много копать - вначале стандартный плагин content - search, затем стандартный компонент поиска. Искал я место в программном коде, которое в строке utf-8 с кодами русской Р меняет D0 A0 на D0 20.
Докопался до нужного на мой взгляд места. В контроллере компонента com_search, функция search(), последняя строка кода - вызывается метод JRoute::_(). И вот в нем-то строка с заглавной Р и портится.

Файл \libraries\joomla\methods.php - реализация класса JRoute и метода JROUTE::_()

                // Replace spaces
                $url = preg_replace('/\s/', '%20', $url);

Переменная $url соответственно на входе и на выходе этой функции:
/component/search/КОРБАН.html?ordering=&searchphrase=all
/component/search/КО�%20БАН.html?ordering=&searchphrase=all

Насколько я понимаю, этот вызов preg_replace должен заменить любой пробельный символ на последовательность %20. Но почему заглавная русская Р засчитана как пробельный символ?

С уважением
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: preg_replace() и заглавная русская Р
« Ответ #1 : 14.01.2009, 19:42:45 »
Я бы заменил строчку:

Код: php
$url = preg_replace('/\s/', '%20', $url);

на

Код: php
$url = preg_replace('/\s/u', '%20', $url);
*

westward

  • Осваиваюсь на форуме
  • 11
  • 4 / 0
Re: preg_replace() и заглавная русская Р
« Ответ #2 : 14.01.2009, 23:02:58 »
Да, так все работает верно. Спасибо огромное за ответ!

Есть на форуме место, куда стоило бы написать заметку? Или кому надо, сам найдет?

С уважением
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: preg_replace() и заглавная русская Р
« Ответ #3 : 15.01.2009, 10:23:51 »
Мы добавим эту информацию в Joomla FAQ, и, конечно, я добавил описание этой ошибки и ее решения в bug-tracker Joomla, будем надеяться, что в следующей версии это будет уже исправлено.
*

westward

  • Осваиваюсь на форуме
  • 11
  • 4 / 0
Re: preg_replace() и заглавная русская Р
« Ответ #4 : 16.01.2009, 13:59:27 »
Для корректной работы стандартного компонента поиска Joomla нужно внести еще одно исправление.

Файл \components\com_search\views\search\view.html.php. Строка примерно 129-я.

Было так:
Код
{
  $searchwords = preg_split("/\s+/", $searchword);

А надо так:
Код
{
  $searchwords = preg_split("/\s+/u", $searchword);

Пропущен все тот же модификатор utf-8 в регулярном выражении.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: preg_replace() и заглавная русская Р
« Ответ #5 : 18.01.2009, 14:48:58 »
Ага, спасибо. Добавил и это исправление в баг-трекер Joomla 1.5. Будем надеяться оба пожелания учтут в следующей версии (по идее и в 1.6 это тоже должно включиться).
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться