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

xenos

  • Захожу иногда
  • 51
  • 3 / 2
Всем добрый день. Помогите выявить ошибки в скрипте, при сортировке товаров по цене. Взялся  один не добросовестный горе кодер с форума, деньги за работу взял но не довел работу до конца Валера Карманов его профиль  http://joomlaforum.ru/index.php?action=profile;u=169023

Суть проблемы: при нажатии сортировки появляются клоны(дубли товаров)

Код фильтра сортировки :

/media/zoo/applications/jbuniversal/templates/catalog/renderer/item_columns/_default.php

Спойлер
[свернуть]

Получается только на жимается сортировка, и начинают вылазить дубли товаро, от 3 и по 6 шт. одинаковых
« Последнее редактирование: 28.07.2015, 12:24:07 от xenos »
*

Gordon Freeman

  • Захожу иногда
  • 117
  • 7 / 0
Суть проблемы: при нажатии сортировки появляются клоны(дубли товаров)

Конечно на трезвую голову сразу сделать правильно - это нереально, но попробуй замени полностью код в файле на этот ... Что тебе выведет на страницу...

Код
<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 *
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Denis Smetannikov <denis@jbzoo.com>
 */

// no direct access
// JRequest::getVar('sorting')
defined('_JEXEC') or die('Restricted access');
$mainframe = JFactory::getApplication();

$this->app->jbdebug->mark('layout::item_columns::start');

if ($vars['count']) {

    $count = $vars['count'];

    $j = 0;

foreach ($vars['objects'] as $object) {
$points = explode('"', substr($object, strripos($object, 'price="'), stripos($object, 'teaser_tmpl'))); // $points[1]
echo $points[1].'<br>';
}

}


$this->app->jbdebug->mark('layout::item_columns::finish');
*

xenos

  • Захожу иногда
  • 51
  • 3 / 2
Вывело цены:

*

Gordon Freeman

  • Захожу иногда
  • 117
  • 7 / 0
а если попробовать вот так...
Код
<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 *
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Denis Smetannikov <denis@jbzoo.com>
 */

// no direct access
// JRequest::getVar('sorting')
defined('_JEXEC') or die('Restricted access');
$mainframe = JFactory::getApplication();

$this->app->jbdebug->mark('layout::item_columns::start');

if ($vars['count']) {

    $count = $vars['count'];

    $j = 0;

foreach (array_unique($vars['objects']) as $object) { echo $object; }
}


$this->app->jbdebug->mark('layout::item_columns::finish'); ?>
*

xenos

  • Захожу иногда
  • 51
  • 3 / 2
а если попробовать вот так...
Код
<?php
/**
 * JBZoo App is universal Joomla CCK, application for YooTheme Zoo component
 *
 * @package     jbzoo
 * @version     2.x Pro
 * @author      JBZoo App http://jbzoo.com
 * @copyright   Copyright (C) JBZoo.com,  All rights reserved.
 * @license     http://jbzoo.com/license-pro.php JBZoo Licence
 * @coder       Denis Smetannikov <denis@jbzoo.com>
 */

// no direct access
// JRequest::getVar('sorting')
defined('_JEXEC') or die('Restricted access');
$mainframe = JFactory::getApplication();

$this->app->jbdebug->mark('layout::item_columns::start');

if ($vars['count']) {

    $count = $vars['count'];

    $j = 0;

foreach (array_unique($vars['objects']) as $object) { echo $object; }
}


$this->app->jbdebug->mark('layout::item_columns::finish'); ?>

Так выводится все с описаниями и фотками, как надо вообщем.
*

Gordon Freeman

  • Захожу иногда
  • 117
  • 7 / 0
Так выводится все с описаниями и фотками, как надо вообщем.

кароче это можно делать долго, но надо самому посмотреть... Если есть почта на mail.ru добавь меня в друзья и там разберемся...
напишу в ЛС....
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте этот код
Код: php-brief
if ($vars['count']) {
    $count = $vars['count'];
    $j = 0;

$regexp='~(price=")([^"]+)(")~';
$new_objects=array();
$sorting=JRequest::getVar('sorting','');

if(!empty($sorting)){
foreach($vars['objects'] as $object){
preg_match($regexp,$object,$matches);
$key=trim($matches[2]);
$new_objects[$key]=$object;
}

if($sorting=='cheap'){
ksort($new_objects);
}else{
krsort($new_objects);
}
foreach($new_objects as $new_object){
echo $new_object;
}
}else{
foreach($vars['objects'] as $object){
echo $object;
}
}
}
« Последнее редактирование: 28.07.2015, 14:15:42 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

xenos

  • Захожу иногда
  • 51
  • 3 / 2
Попробуйте этот код
Код: php-brief
if ($vars['count']) {
    $count = $vars['count'];
    $j = 0;

$regexp='~(price=")([^"]+)(")~';
$new_objects=array();
$sorting=JRequest::getVar('sorting','');

if(!empty($sorting)){
foreach($vars['objects'] as $object){
preg_match($regexp,$object,$matches);
$key=trim($matches[2]);
$new_objects[$key]=$object;
}

if($sorting=='cheap'){
ksort($new_objects);
}else{
krsort($new_objects);
}
foreach($new_objects as $new_object){
echo $new_object;
}
}else{
foreach($vars['objects'] as $object){
echo $object;
}
}
}

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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Тогда так
Код: php-brief
if ($vars['count']) {
    $count = $vars['count'];
    $j = 0;

$regexp='~(price=")([^"]+)(")~';
$new_objects=array();
$sorting=JRequest::getVar('sorting','');

if(!empty($sorting)){
foreach($vars['objects'] as $object){
preg_match($regexp,$object,$matches);
$key=trim($matches[2]);
$key=array_key_exists($key,$new_objects)?((int)$key+1):$key;
$new_objects[$key]=$object;
}

if($sorting=='cheap'){
ksort($new_objects);
}else{
krsort($new_objects);
}
foreach($new_objects as $new_object){
echo $new_object;
}
}else{
foreach($vars['objects'] as $object){
echo $object;
}
}
}
Не будь паразитом, сделай что-нибудь самостоятельно!
*

xenos

  • Захожу иногда
  • 51
  • 3 / 2
Тогда так
Код: php-brief
if ($vars['count']) {
    $count = $vars['count'];
    $j = 0;

$regexp='~(price=")([^"]+)(")~';
$new_objects=array();
$sorting=JRequest::getVar('sorting','');

if(!empty($sorting)){
foreach($vars['objects'] as $object){
preg_match($regexp,$object,$matches);
$key=trim($matches[2]);
$key=array_key_exists($key,$new_objects)?((int)$key+1):$key;
$new_objects[$key]=$object;
}

if($sorting=='cheap'){
ksort($new_objects);
}else{
krsort($new_objects);
}
foreach($new_objects as $new_object){
echo $new_object;
}
}else{
foreach($vars['objects'] as $object){
echo $object;
}
}
}

Уважаемый robert большая Вам благодарность, в помощи решении этой проблемы...
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ошибки в фильтре сортировке товара
« Ответ #10 : 29.07.2015, 10:41:59 »
xenos, пишите здесь.
Не стоит благодарности, считайте, что это компенсация за недоделанную работу. И учтите, что дешево - не всегда хорошо.
Спойлер
[свернуть]
P.S. Попправил код.
« Последнее редактирование: 29.07.2015, 17:24:46 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

xenos

  • Захожу иногда
  • 51
  • 3 / 2
Re: Ошибки в фильтре сортировке товара
« Ответ #11 : 29.07.2015, 11:18:20 »
xenos,  И учтите, что дешево - не всегда хорошо.


Это точно...
*

xenos

  • Захожу иногда
  • 51
  • 3 / 2
Re: Ошибки в фильтре сортировке товара
« Ответ #12 : 29.07.2015, 13:40:21 »
xenos, пишите здесь.
Не стоит благодарности, считайте, что это компенсация за недоделанную работу. И учтите, что дешево - не всегда хорошо.
Спойлер
[свернуть]
P.S. Попправил код.

Не досмотрел, все ровно при нажатии сортировки по цене пропадают товары, и из 6 товаров у которых одинаковая цена остается всего два товара.Мистика какая то
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ошибки в фильтре сортировке товара
« Ответ #13 : 29.07.2015, 17:23:49 »
Поправил.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Petr45

  • Новичок
  • 2
  • 0 / 0
Re: Ошибки в фильтре сортировке товара
« Ответ #14 : 30.07.2015, 11:21:44 »
кароче это можно делать долго, но надо самому посмотреть... Если есть почта на mail.ru добавь меня в друзья и там разберемся...
напишу в ЛС....
Добавился к вам в друзья. Можете мне тоже отправить в лс почту? Есть тоже вопросы по поводу фильтра ZOO.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Ошибки в фильтре сортировке товара
« Ответ #15 : 30.07.2015, 17:48:05 »
xenos, фильтр уже нормально работает?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

xenos

  • Захожу иногда
  • 51
  • 3 / 2
Re: Ошибки в фильтре сортировке товара
« Ответ #16 : 01.08.2015, 13:15:23 »
xenos, фильтр уже нормально работает?
Да, еще в одной категории не сортирует два товара, почему то не реагирует на них сортировка.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибки simplexml_load_file()

Автор caitleen

Ответов: 9
Просмотров: 8328
Последний ответ 12.12.2015, 12:41:32
от Катя
Сообщение после заказа товара Zoo

Автор dasisgood

Ответов: 3
Просмотров: 1782
Последний ответ 14.07.2014, 16:02:36
от dasisgood
[Элемент] ZOOPLATI - Кнопка оплаты товара в plati.ru(oplata.info)

Автор likrion

Ответов: 14
Просмотров: 6065
Последний ответ 18.06.2014, 00:43:30
от likrion
Вывод товаров "Титульная страница" на странице товара

Автор liar94

Ответов: 1
Просмотров: 1557
Последний ответ 28.11.2013, 12:51:06
от Efanych
Ошибка при добавлении границы товара

Автор deathsoul

Ответов: 2
Просмотров: 1604
Последний ответ 09.04.2013, 15:55:44
от deathsoul