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

murovoz

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Уважаемые форумчане, подскажите пожалуйста! Работаю с AdsManager 2.9.13 Как бы все устраивало но вот понадобилось добавить функционала. Есть ли возможность добавить функцию снять с публикации по мимо редактировать и удалить в личном кабинете пользователя?  Спасибо!
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Есть ли возможность добавить функцию снять с публикации по мимо редактировать и удалить в личном кабинете пользователя?  Спасибо!

Если так сильно надо, то могу сделать... Конечно не бесплатно...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

murovoz

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Что по чем?

Договоримся. Напиши контактные данные в ЛС...
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

biper

  • Осваиваюсь на форуме
  • 29
  • 0 / 1
ну и как ? сделали ? а то мне тоже нать такое :)
*

qudrat

  • Новичок
  • 2
  • 0 / 0
А мне он нужен для AdsManager 3.1.5. Дайте любой скрипт при готовности. Потом сам как нибудь переделяю для версии 3.1.5
*

Sabotage

  • Осваиваюсь на форуме
  • 28
  • 0 / 1
Похоже очень сложная функция. Никто не может сделать
*

grinat

  • Захожу иногда
  • 356
  • 34 / 2
Уважаемые форумчане, подскажите пожалуйста! Работаю с AdsManager 2.9.13 Как бы все устраивало но вот понадобилось добавить функционала. Есть ли возможность добавить функцию снять с публикации по мимо редактировать и удалить в личном кабинете пользователя?  Спасибо!
Дак там по моему есть перенос в архив. В настройках задать нужно категорию архив и туда будет сносится. Если нет ее, то по моему в models в файле content находиться код удаления, функция manage expire content или что-то в этом духе, закоментируйте там код удаления и вставьте запрос c update чтобы в бд publihed=1 менялось на published=0
*

biper

  • Осваиваюсь на форуме
  • 29
  • 0 / 1
может просто сделать "Обновить дату публикации" + 30 дней (для примера = количество дней до истечении срока публикации)
как кодом это будет не знаю... в php я полный нуб.. если есть кто в функциях просветленный, оформите в виде строки :)
*

Sabotage

  • Осваиваюсь на форуме
  • 28
  • 0 / 1
Это очень сложная функция, забудьте о ней, никто не сможет сделать.
*

Pavel

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Это очень сложная функция, забудьте о ней, никто не сможет сделать.
;D
Туточки:  mysite.ru\administrator\components\com_adsmanager\models\content.php 
Добавляем функцию:
Код
function offpublishedContent($contentid)
{
$this->_db->setQuery( "SELECT published FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$published = $this->_db->loadResult();
if ($published != 1){
exit();
}
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = 'NULL', recall_mail_sent = 0, published = 0  WHERE id=".(int)$contentid."");
$this->_db->query();
}

а туточки: mysite.ru\components\com_adsmanager\controller.php
вот такую:
Код
function offpubl() {
$app = JFactory::getApplication();

$contentid = JRequest::getInt('id', 0);

$this->addModelPath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_adsmanager'.DS.'models');
$contentmodel =$this->getModel( "content" );

$confmodel =$this->getModel( "configuration" );
$conf = $confmodel->getConfiguration();

$c = $contentmodel->getContent($contentid,false);
if ($c == null)
exit();

if ($c->published == 0) {
exit();
}

$contentmodel->offpublishedContent($contentid);
$cache = JFactory::getCache( 'com_adsmanager');
$cache->clean();

$app->redirect(TLink::getMyAdsLink(), JText::_('ADSMANAGER_CONTENT_OFF'),'message');
}

В файле шаблона
такой код:   обставляем его нужными нам условиями и соответственно выводим

Код
$target = TRoute::_("index.php?option=com_adsmanager&task=offpubl&id=$content->id");
echo "<a href='".$target."'><i class='icon-unpublish'></i>".JText::_('ADSMANAGER_OFF_PUBL')."</a>";


и еще очень рекомендую сделать поднятие объявления в топ
это тут : Кнопка "Поднять объявление"

у меня это выглядит так, каждые 4 часа можно поднять объявление:

Код
function renewContent($contentid,$ad_duration)
{
$this->_db->setQuery( "SELECT expiration_date FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$expiration_date = $this->_db->loadResult();
$time = strtotime($expiration_date);
if ($time < time())
{
$time = time();
}
$time = $time - ( $ad_duration * 3600);
$newdate = date("Y-m-d H:i:s",$time);

$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate',date_created = NOW(), publication_date = NOW(), recall_mail_sent=0,published=1 WHERE id=".(int)$contentid."");
$this->_db->query();
}

там еще в паре файлов цифры поправить надо - но кто захочет думаю сообразит ^-^
*

Pavel

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
У кого есть вопросы, пишите, просто регистрируйтесь на сайте, и Вы уже ЧЛЕН общества, и не надо стесняться своей компетенции, мы все когда то ходили в подгузники, НО ВРЕМЯ ИДЕТ!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 9713
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 20437
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
Редактировать все объявления

Автор den_ko

Ответов: 32
Просмотров: 18031
Последний ответ 25.11.2021, 10:43:38
от FlexNL
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 8731
Последний ответ 21.10.2021, 17:20:09
от khan-alex
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 33654
Последний ответ 27.03.2020, 22:32:04
от Pavel