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

Fever13

  • Захожу иногда
  • 79
  • 0 / 0
Доброго времени суток!Подскажите пожалуйста, установлен AdsManager 2.6.5, хочу за место текста водяного знака вставить картинку *.png, каким образом это можно сделать? Спасибо.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
*

Fever13

  • Захожу иногда
  • 79
  • 0 / 0
Сделали всё как описано, не работает на версии адс менеджера 2.6.5 (( белый экран и всё, хоть ты тресни! заменили фрагмент кода в AdsManager.php, и там только изменили путь к изображению. Что ещё не так? Спасибо.
*

Fever13

  • Захожу иногда
  • 79
  • 0 / 0
Ап! Помогите пожалуйста! Вот код файла /administrator/components/com_adsmanager/models/adsmanager.php 


Код
<?php
/**
 * @package AdsManager
 * @copyright Copyright (C) 2010-2011 JoomPROD.com. All rights reserved.
 * @license GNU/GPL
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die( 'Restricted access' );

jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_adsmanager'.DS.'tables');

/**
 * @package Joomla
 * @subpackage Contact
 */
class AdsmanagerModelAdsmanager extends JModel

function changeState($table,$id,$field,$state,$cid)
{
$cids = implode( ',', $cid );
$this->_db->setQuery("UPDATE $table SET $field = $state WHERE $id IN ($cids)");
//echo "UPDATE $table SET $field = $state WHERE $id IN ($cids)";
//exit();
$this->_db->query();
}

function createImageAndThumb($src_file,$image_name,$thumb_name,

$max_width,
    $max_height,
$max_width_t,
$max_height_t,
$tag,
$path,
$orig_name)
{
if (intval(ini_get('memory_limit')) < 64)
ini_set('memory_limit', '64M');

$src_file = urldecode($src_file);

$orig_name = strtolower($orig_name);
$findme  = '.jpg';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
$findme  = '.jpeg';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
$findme  = '.gif';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
$findme  = '.png';
$pos = strpos($orig_name, $findme);
if ($pos === false)
{
return;
}
else
{
$type = "png";
}
}
else
{
$type = "gif";
}
}
else
{
$type = "jpeg";
}
}
else
{
$type = "jpeg";
}

$max_h = $max_height;
$max_w = $max_width;
$max_thumb_h = $max_height_t;
$max_thumb_w = $max_width_t;

if ( file_exists( "$path/$image_name")) {
unlink( "$path/$image_name");
}

if ( file_exists( "$path/$thumb_name")) {
unlink( "$path/$thumb_name");
}

$read = 'imagecreatefrom' . $type;
$write = 'image' . $type;

$src_img = $read($src_file);

// height/width
$imginfo = getimagesize($src_file);
$src_w = $imginfo[0];
$src_h = $imginfo[1];

$zoom_h = $max_h / $src_h;
    $zoom_w = $max_w / $src_w;
    $zoom   = min($zoom_h, $zoom_w);
    $dst_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
    $dst_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;

$zoom_h = $max_thumb_h / $src_h;
    $zoom_w = $max_thumb_w / $src_w;
    $zoom   = min($zoom_h, $zoom_w);
    $dst_thumb_h  = $zoom<1 ? round($src_h*$zoom) : $src_h;
    $dst_thumb_w  = $zoom<1 ? round($src_w*$zoom) : $src_w;

$dst_img = imagecreatetruecolor($dst_w,$dst_h);
$white = imagecolorallocate($dst_img,255,255,255);
imagefill($dst_img,0,0,$white);
imagecopyresampled($dst_img,$src_img, 0,0,0,0, $dst_w,$dst_h,$src_w,$src_h);
$textcolor = imagecolorallocate($dst_img, 255, 255, 255);
if (isset($tag)) {
$fontfile = JPATH_SITE."/components/com_adsmanager/font/verdana.ttf";
            imagettftext ($dst_img, 10, 0, 5, 20,$textcolor,$fontfile,$tag );
        } 
if($type == 'jpeg'){
        $desc_img = $write($dst_img,"$path/$image_name", 75);
}else{
        $desc_img = $write($dst_img,"$path/$image_name", 2);
}

imagedestroy($dst_img);

$dst_t_img = imagecreatetruecolor($dst_thumb_w,$dst_thumb_h);
$white = imagecolorallocate($dst_t_img,255,255,255);
imagefill($dst_t_img,0,0,$white);
imagecopyresampled($dst_t_img,$src_img, 0,0,0,0, $dst_thumb_w,$dst_thumb_h,$src_w,$src_h);
$textcolor = imagecolorallocate($dst_t_img, 255, 255, 255);
if (isset($tag)) {
//imagestring($dst_t_img, 2, 2, 2, $tag, $textcolor);
$fontfile = JPATH_SITE."/components/com_adsmanager/font/verdana.ttf";
            imagettftext ($dst_t_img, 7, 0, 5, 12,$textcolor,$fontfile,$tag );
}
if($type == 'jpeg'){
        $desc_img = $write($dst_t_img,"$path/$thumb_name", 75);
}else{
        $desc_img = $write($dst_t_img,"$path/$thumb_name", 2);
}

imagedestroy($dst_t_img);
}
}
*

Fever13

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

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

Автор nicklas

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

Автор klekovkinandrey

Ответов: 2
Просмотров: 20444
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 8737
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 19338
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

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