Новости Joomla

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

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

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

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

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

- Читать статью на Хабре
- Process Forge (GitHub)

@joomlafeed

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Компонент Joomla 6: Генератор LLMs.txt.

Ещё один генератор ИИ-файлов llms.txt и llms-full.txt.

Основные особенности/возможности компонента:

  • Генерация по стандарту: Автоматическое создание файла-визитки llms.txt и расширенной версии llms-full.txt с аннотированным списком материалов.
  • Интеллектуальная работа с контентом: Компонент использует мета-описания (Meta Description) из статей и пунктов меню, превращая SEO-настройки сайта в качественный контекст для нейросетей.
  • Просмотреть результат генерации файлов можно сразу в рабочей области компонента. После внесения корректив (через Настройки компонента. При отладке лучше открыть три вкладки в браузере: Настройка — Геренация/Превью — Список Материалов/Категории/Меню.) — проводим перегенерацию, смотрим результат до полной «победы».
  • Автоматизация и безопасность: Синхронизация с sitemap.xml, группировка по категориям и автоматическое создание резервных копий (.bak) при каждой генерации.
  • Гибкое управление: Возможность исключения определенных категорий и/или статей и/или пунктов меню, а также простая настройка через стандартную админпанель Joomla.
  • Подробное руководство/справка: Пошаговая инструкция для пользователя в Настройках компонента для редакторов с базовым знанием администрирования Joomla.

👉 Важно учесть.
1️⃣ Компонент Генератор LLMs.txt изначально составляет базовый список ссылок на основе sitemap.xml и сверяется с ним на предмет: запрета индексации url в robots.txt, тегов noinex/nofollow. Это экономит время на проверку «закрыть от индексации», поскольку компонент генерации Sitemap.xml уже реализовал эту задачу. Посему, формирование ссылок для ИИ имеет комплексный подход, составление грамотного/валидного/релевантного sitemap.xml никто не отменял.

2️⃣ Тексты-описания ссылок формируются из Meta Description com_content (только компонент Материалы) и выбранных пользователем Меню сайта. Важно, чтобы Meta Description были уникальными и релевантными, соответствовали базовому seo. Составленные «на отшибись» Description для ИИ — «не катит» (впрочем, для поисковых систем они тоже «не канали»).

Разработчик - участник нашего сообщества Александр Кузнецов (@newvksan).

Страница расширения

@joomlafeed

#joomla #ии #ai

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

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Столкнулся недавно с тем что порядок отображения полей поиска в модуле mod_adsmanager_search совершенно не зависит от того в каком порядке эти самые поля указаны в его настройках.

В этом модуле есть 5 пронумерованных полей, в которые вставляются имена характеристик объявления.
Логично было ожидать что в модуле поля будут отображаться в том же порядке в котором указаны в настройках модуля, но...

Но дело в том что поля эти в модуле выводятся в том порядке, который им задан в компоненте AdsManager, не помню точно для какой части, может для формы подачи объявления или страницы отображения объявления.

Для того чтобы поля поиска в модуле отображались в том порядке, в котором мы указали их в настройках модуля, необходимо:

1. Открываем файл /administrator/components/com_adsmanager/models/field.php
2. Ищем в этом файле функцию getFieldsByName содержимое оной приведено ниже

Код
     function getFieldsByName($listfields,$usergroups=true,$mode='read') {
$query = "SELECT f.* FROM #__adsmanager_fields AS f ".
"WHERE f.name IN ($listfields) AND f.published = 1 ORDER by f.ordering" ;
$this->_db->setQuery( $query);
$searchfields = $this->_db->loadObjectList("name");

foreach($searchfields as $key => $field) {
$searchfields[$key]->options = json_decode($field->options);
}

if($usergroups) {
require_once(JPATH_ROOT.'/components/com_adsmanager/lib/tpermissions.php');
$searchfields = TPermissions::getAuthorisedFields($searchfields, $mode);
}

return $searchfields;
    }

3. Копипастим эту функцию вместе с содержимым ниже и меняем ее название например на getFieldsByPosModule
4. Заменяем вот эту часть кода:

Код
$query = "SELECT f.* FROM #__adsmanager_fields AS f ".
"WHERE f.name IN ($listfields) AND f.published = 1 ORDER by f.ordering" ;
$this->_db->setQuery( $query);
$searchfields = $this->_db->loadObjectList("name");

на этот код

Код
$listfieldsformod = str_replace ( "'" , "" , $listfields );					 
$query = "SELECT f.* FROM #__adsmanager_fields AS f "."WHERE f.name IN ($listfields) AND f.published = 1 order by find_in_set(f.name, '$listfieldsformod')";
$this->_db->setQuery( $query);
$searchfields = $this->_db->loadObjectList();

5. открываем файл /modules/mod_adsmanager_search/mod_adsmanager_search.php

6. Находим место где используется функция getFieldsByName, у меня это 52-я строка и код выглядит вот так:

Код
if ($listfields != ""){
$searchfields = $fieldmodel->[b]getFieldsByPosModule[/b]($listfields);
$field_values = $fieldmodel->getFieldValues();

7. заменяем выделенное жирным имя функции на то которое мы указали в начале поста когда копировали функцию, у нас это было getFieldsByPosModule
После внесенных изменений код должен выглядеть так:

Код
if ($listfields != ""){
$searchfields = $fieldmodel->getFieldsByPosModule($listfields);
$field_values = $fieldmodel->getFieldValues();

На этом все. Теперь поля в модуле будут показываться в том порядке, в котором мы их указали в настройках модуля.
*

moonaway

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 20440
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
Как создать пункт меню на результат поиска ADS?

Автор Den85

Ответов: 1
Просмотров: 2064
Последний ответ 03.06.2018, 18:58:10
от Sabotage
Привязать модуль mod_paidsystem_feat поиску

Автор efimov777

Ответов: 5
Просмотров: 1738
Последний ответ 27.02.2018, 18:57:55
от efimov777
Привязать модуль mod_adsmanager_ads к категории

Автор efimov777

Ответов: 2
Просмотров: 17184
Последний ответ 01.02.2018, 14:01:16
от efimov777
Как встроить модуль в AdsManager?

Автор Den85

Ответов: 1
Просмотров: 21561
Последний ответ 19.01.2018, 23:15:21
от DK-Scorp