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

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
День добрый.
Использую mod_adsmanager_menu для вывода меню объявлений.
Столкнулся с проблемой - как выделить активный пункт меню и чтобы выделение сохранялось при переходе по пунктам постраничной навигации?
Заранее спасибо.
*

asdf27

  • Захожу иногда
  • 120
  • 7 / 0
Re: Выделить активный пункт меню
« Ответ #1 : 27.02.2012, 17:17:12 »
Opera - правой кнопкой на активный элемент - проинспектировать элемент. У меня обычный модуль меню, опишу на его примере:

Имеем код
Код
<a href="/" class="mainlevel" id="active_menu">Лазаревское 2012</a>

Если бы это был код вашего модуля, то в CSS модуля добавил бы следующие строки:

Код
#active_menu a.mainlevel {font-weight:bold;}

Может синтаксис неправильно написал, пользую CSS с яндексом, но направление верное.
*

asdf27

  • Захожу иногда
  • 120
  • 7 / 0
Re: Выделить активный пункт меню
« Ответ #2 : 27.02.2012, 17:18:30 »
За небольшую услугу (не деньги) с вашей стороны, помогу с кодом.
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
Re: Выделить активный пункт меню
« Ответ #3 : 27.02.2012, 18:39:51 »
что за услуга?
*

asdf27

  • Захожу иногда
  • 120
  • 7 / 0
Re: Выделить активный пункт меню
« Ответ #4 : 27.02.2012, 18:56:09 »
Туристический сайт делаю для себя на перспективу, стал лениться контент писать :) Если вы отдыхали где-нибудь на Черном море, хотелось бы ваш отзыв на сайт запихнуть. Буквально, 1500 букав с пробелами :) А можно и без отзыва вовсе обойтись, как совесть позволит. Прикрепите модуль, как раз на одном из сайтов у меня есть ads, там посмотрю.
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
Re: Выделить активный пункт меню
« Ответ #5 : 27.02.2012, 19:18:53 »
Отзыв втиснуть наверное смогу.. раньше не наполнял..
Вот код из FireBuga
Код
<table cellspacing="0" cellpadding="0" border="0" width="100%">
   
<tr align="left"><td>
<a class="mainlevel" href="#">Сантехника (16)</a> <!-- Категория -->
<div style="padding-left: 10px">
    <a class="sublevel" href="#">Европейская сантехника (16)</a></div> <!-- Подкатегория 1 -->
<div style="padding-left: 10px">
    <a class="sublevel" href="#">Установка санузлов (0)</a></div> <!-- Подкатегория 2-->
</td></tr>

<tr align="left">
    <td>
<a class="mainlevel" href="#">Отопление и кондиционирование (0)</a></td></tr>

<tr align="left"><td>
<a class="mainlevel" href="#">Отделочные материалы (0)</a></td></tr>

<tr align="left"><td>
<a class="mainlevel" href="#">Окна и двери (0)</a></td></tr>

</tbody></table>
Если ты уже выделял активные пункты модуля 'mod_adsmanager_menu' то глянь, пожалуйста.
Только нужно с дочерними страницами...
С помощью javascript активный пункт меню я выделил. вот код
Код
<script type="text/javascript">
try{
var el=document.getElementById('ads_menu').getElementsByTagName('a');
var url=document.location.href;
for(var i=0;i<el.length; i++){
if (url==el[i].href){
el[i].className += ' active';
};
};
}catch(e){}
</script>
Но используется сапописный вывод товаров и пагинация с помощью классв JPagination и при переходе по пунктам пагинации активная ссылка пропадает.
Заранее спасибо.
*

asdf27

  • Захожу иногда
  • 120
  • 7 / 0
Re: Выделить активный пункт меню
« Ответ #6 : 28.02.2012, 02:03:54 »
У меня ads 2.6, модуль под 2.5 ошибками плюёт. Дай адрес сайта (можно и в личку, хотя чего стесняться), на нем посмотрю. Из твоего кода я не вижу активный элемент.
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
Re: Выделить активный пункт меню
« Ответ #7 : 28.02.2012, 10:17:19 »
Сайт на локале... А насчёт активного элемента... В FireBuge и в Опере активный элемент выбивает следующее
Код
<a class="mainlevel" href="#">Сантехника (16)</a>
для категории и
Код
<a class="sublevel" href="#">Европейская сантехника (16)</a>
для подкатегорий.. Теже самые классы стоят и для неактивных пунктов..
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
Re: Выделить активный пункт меню
« Ответ #8 : 28.02.2012, 11:02:06 »
Проблема решилась с помощью скрипта jQuery
Код
<script type="text/javascript">
jQuery(document).ready (function () {
var active_url=document.location.pathname; 
if (active_url.split ('/')[2]!=0) {
jQuery.each (jQuery("#ads_menu a[href*=/"+active_url.split('/')[2]+"]"),
function (){$(this).addClass ('active');});
}
});
</script>
Если вдруг кому-нибудь понадобиться пояснения к коду - пишите.
*

fle4er

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Выделить активный пункт меню
« Ответ #9 : 14.03.2012, 00:50:02 »
Поясните пожалуйста куда мне этот скрип вставить адс 2.6, Joomla 2.5             Vse72.ru
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
Re: Выделить активный пункт меню
« Ответ #10 : 14.03.2012, 10:17:28 »
fle4er, у меня Joomla 1.5+adsmanager 2.5
Данный скрипт вставил в конец файла mod_adsmanager_menu.php, который лежит в modules/mod_adsmanager_menu
*

fle4er

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Выделить активный пункт меню
« Ответ #11 : 14.03.2012, 12:58:19 »
не работает скрипт у меня
 
вот код mod_ads_manager_menu.php
Код
<?php
// no direct access
defined('_JEXEC') or die( 'Restricted access' );

require_once(JPATH_BASE.'/administrator/components/com_adsmanager/models/category.php');

if (!function_exists("displayMenuCats")) {
function displayMenuCats($id, $level, &$children,$itemid,$current_list,$displaynumads) {
global $cur_template;
if (@$children[$id]) {
foreach ($children[$id] as $row) {
?>
<li>
<?php
$link = JRoute::_("index.php?option=com_adsmanager&view=list&catid=".$row->id."&Itemid=$itemid");
if ($displaynumads == 1)
{
echo '<a href="'.$link.'" ><span>'.$row->name.' ('.$row->num_ads.')</span></a>';
}
else
{
echo '<a href="'.$link.'" ><span>'.$row->name.'</span></a>';
}
if (@$current_list[count($current_list) - 1 -$level] == $row->id)
{
echo "<ul>";
displayMenuCats($row->id, $level+1, $children,$itemid,$current_list,$displaynumads);
echo "</ul>";
}
?>
</li>
<?php
}
}
}
}

/****************************************************/
$catid = JRequest::getInt('catid', -1 );
$displaynumads = $params->def('displaynumads',1);
$itemid = intval($params->get( 'default_itemid', JRequest::getInt('Itemid', 0 ) )) ;

$catmodel  = new AdsmanagerModelCategory();
$cats = $catmodel->getCatTree(true,true,$nbcontents);

$displayhome = $params->def('displayhome',1);
$displaywritead = $params->def('displaywritead',1);
$displayprofile = $params->def('displayprofile',1);
$displaymyads = $params->def('displaymyads',1);
$displayrules = $params->def('displayrules',1);
$displayallads = $params->def('displayallads',1);
$displaycategories = $params->def('displaycategories',1);
$displayseparators = $params->def('displayseparators',1);

if ($displaycategories == 1) {
$cc = $catmodel->getCategories();
$orderlist = array();
// first pass - collect children
foreach ($cc as $v ) {
$orderlist[$v->id] = $v;
}

$current_list[] = $catid;
if ($catid != -1)
{
$current = $catid;
while((isset($orderlist[$current])) && ($orderlist[$current]->parent != 0))
{
$current_list[] = $orderlist[$current]->parent;
$current = $orderlist[$current]->parent;
}
}
}

$lang = JFactory::getLanguage();
$lang->load("com_adsmanager");

$user = JFactory::getUser();

$link_front = JRoute::_("index.php?option=com_adsmanager&view=front&Itemid=$itemid");
$link_write_ad = JRoute::_("index.php?option=com_adsmanager&task=write&Itemid=$itemid");
$link_show_profile = JRoute::_("index.php?option=com_adsmanager&view=profile&Itemid=$itemid");
$link_show_user = JRoute::_("index.php?option=com_adsmanager&view=list&user=".$user->id."&Itemid=$itemid");
$link_show_rules = JRoute::_("index.php?option=com_adsmanager&view=rules&Itemid=$itemid");
$link_show_all = JRoute::_("index.php?option=com_adsmanager&view=list&Itemid=$itemid");

require(JModuleHelper::getLayoutPath('mod_adsmanager_menu'));
$content="";
$path = JPATH_ADMINISTRATOR.'/../libraries/joomla/database/table';
JTable::addIncludePath($path);



Может кто поможет что нужно изменить в коде чтобы выделенный пункт меню был жирным красным цветом
*

nik_neman

  • Захожу иногда
  • 52
  • 2 / 0
Re: Выделить активный пункт меню
« Ответ #12 : 14.03.2012, 13:36:09 »
fle4er, смотри...
у меня в index.php вот так вот
Код
<div id="ads_menu">
    <jdoc:include type="modules" name="ads_menu" />
</div>
Т.е. вывод модуля обёрнут в дивку ads_menu.
В скрипте указана дивка
Код
<script type="text/javascript">
jQuery(document).ready (function () {
var active_url=document.location.pathname; 
if (active_url.split ('/')[2]!=0) {
jQuery.each (jQuery("#ads_menu a[href*=/"+active_url.split('/')[2]+"]"),
function (){$(this).addClass ('active');});
}
});
</script>

В CSS файл (в моём случае это components/com_adsmanager/css/adsmanager.css) добавил
Код
#ads_menu a.active{
     color:red;
 }
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться