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

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Кто-то знает как реализовать отправку сообщения пользователю при удалении объявления модератором за нарушение?

Представляю это так:

1. Создать в админке три новых поля в разделе Email:
- Послать письмо пользователю о удалении объявления модератором? (Да/Нет)
- Тема письма о удалении объявления модератором
- Текст письма о удалении объявления модератором

2. При удалении объявления модератором будет отправляться это письмо

Подскажите пожалуйста!
« Последнее редактирование: 24.07.2013, 21:42:47 от max_1985 »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
плагин на событие если нет события можешь сам сгенерировать. Смотри исходный код функцию удаления
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
плагин на событие если нет события можешь сам сгенерировать. Смотри исходный код функцию удаления
дело в том что при удалении объявления системой приходит письмо.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
В общем начал так:

В administrator/components/com_adsmanager/tables/adsconfiguration.php
дописал:
Код
var $send_email_del_admin_to_user;
var $admin_del_subject;
var $admin_del_text;

В базе создал три поля в xxx_adsmanager_config
send_email_del_admin_to_user
admin_del_subject
admin_del_text

В /administrator/components/com_adsmanager/views/admin/tmpl/configuration.php
После:
Код
<tr>
<td><?php echo JText::_('ADSMANAGER_EMAIL_ON_EXPIRATION_TO_USER'); ?></td>
<td>
<select id='send_email_on_expiration_to_user' name='send_email_on_expiration_to_user'>
<option value='1' <?php if ($this->conf->send_email_on_expiration_to_user == 1) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_YES'); ?></option>
<option value='0' <?php if ($this->conf->send_email_on_expiration_to_user == 0) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_NO'); ?></option>
 </select>
</td>
<td></td>
</tr>
Вставляем:
Код
<tr>
<td><?php echo JText::_('ADSMANAGER_SEND_DEL_ADMIN_TO_USER'); ?></td>
<td>
<select id='send_email_del_admin_to_user' name='send_email_del_admin_to_user'>
<option value='1' <?php if ($this->conf->send_email_del_admin_to_user == 1) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_YES'); ?></option>
<option value='0' <?php if ($this->conf->send_email_del_admin_to_user == 0) { echo "selected"; } ?>><?php echo JText::_('ADSMANAGER_NO'); ?></option>
 </select>
</td>
<td>&nbsp;</td>
</tr>
После:
Код
<tr id="tr_expiration_subject">
<td><?php echo JText::_('ADSMANAGER_EXPIRATION_SUBJECT'); ?></td>
<td><input type="text" name="expiration_subject" value="<?php echo htmlspecialchars($this->conf->expiration_subject); ?>" /></td>
<td>&nbsp;</td>
</tr>
<tr id="tr_expiration_text">
<td><?php echo JText::_('ADSMANAGER_EXPIRATION_TEXT'); ?></td>
<td><?php echo $editor->display( 'expiration_text', $this->conf->expiration_text , '100%', '350', '75', '20' ) ; ?></td>
<td>&nbsp;</td>
</tr>
Вставляем:
Код
<tr id="tr_admin_del_subject">
<td><?php echo JText::_('ADSMANAGER_ADMIN_DEL_SUBJECT'); ?></td>
<td><input type="text" name="admin_del_subject" value="<?php echo htmlspecialchars($this->conf->admin_del_subject); ?>" /></td>
<td>&nbsp;</td>
</tr>
<tr id="tr_admin_del_text">
<td><?php echo JText::_('ADSMANAGER_ADMIN_DEL_TEXT'); ?></td>
<td><?php echo $editor->display( 'admin_del_text', $this->conf->admin_del_text , '100%', '350', '75', '20' ) ; ?></td>
<td>&nbsp;</td>
</tr>


В /administrator/language/ru-RU/ru-RU.com_adsmanager.ini дописуем в конце 3 строчки:
Код
ADSMANAGER_SEND_DEL_ADMIN_TO_USER="Послать письмо пользователю о удалении объявления модератором?"
ADSMANAGER_ADMIN_DEL_SUBJECT="Тема письма о удалении объявления модератором"
ADSMANAGER_ADMIN_DEL_TEXT="Текст письма о удалении объявления модератором"

Помогите в дальнейших действиях в самом функционале!
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
В общем решил так:
В файле /administrator/components/com_adsmanager/controllers/contents.php

В function remove()

Дописал такое условие:
if ($conf->send_email_del_admin_to_user == 1) {   
            $cid = JRequest::getVar( 'cid', array(), '', 'array' );      
            foreach($cid as $id) {
               $model = $this->getModel( "content");
               $c = $model->getContent($id,false);
               $usermodel = $this->getModel("user");
               $user = $usermodel->getUser($c->userid);
               $model->sendMailToUser($conf->admin_del_subject,$conf->admin_del_text,$user,$c,$conf,"validation");
               
            }
         }


Если что лишнее или не так можете подправить!
*

Serafon

  • Захожу иногда
  • 55
  • 5 / 0
Joomla 2.5, AdsManager 2.9.5
Все сделал по инструкции... в админке в компоненте AdsManager, в разделе "Email" появилась функция отправки письма после удаления объявления модератором (появилась кнопка разрешения отправки письма (выбор ДА/НЕТ, а также строка темы письма и текста письма).
В общем все настроил в админке... создал на сайте объявления, потом удалил его с админки и... письмо так и не приходит :(((
Подскажите в чем может быть дело?  :'(

Почему-то кажется, что что-то не так в этом коде:
Код
if ($conf->send_email_del_admin_to_user == 1) {   
            $cid = JRequest::getVar( 'cid', array(), '', 'array' );     
            foreach($cid as $id) {
               $model = $this->getModel( "content");
               $c = $model->getContent($id,false);
               $usermodel = $this->getModel("user");
               $user = $usermodel->getUser($c->userid);
               $model->sendMailToUser($conf->admin_del_subject,$conf->admin_del_text,$user,$c,$conf,"validation");
               
            }
         }
« Последнее редактирование: 19.02.2014, 04:09:30 от Serafon »
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Выложи function remove() целиком.
*

Serafon

  • Захожу иногда
  • 55
  • 5 / 0
Выложи function remove() целиком.
http://rghost.ru/download/52528871/4061080609cf6d52837f7f11e498a68a3f4639ce/contents.php - это ссылка на скачку самого файла contents.php

function remove() в нем прописана так:
Код
function remove()
{
if ($conf->send_email_del_admin_to_user == 1) {   
            $cid = JRequest::getVar( 'cid', array(), '', 'array' );     
            foreach($cid as $id) {
               $model = $this->getModel( "content");
               $c = $model->getContent($id,false);
               $usermodel = $this->getModel("user");
               $user = $usermodel->getUser($c->userid);
               $model->sendMailToUser($conf->admin_del_subject,$conf->admin_del_text,$user,$c,$conf,"validation");
               
            }
         }

$app = JFactory::getApplication();

$content = JTable::getInstance('contents', 'AdsmanagerTable');

$ids = JRequest::getVar( 'cid', array(0));
if (!is_array($ids)) {
$table = array();
$table[0] = $ids;
$ids = $table;
}

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

$model = $this->getModel( "field");
$plugins = $model->getPlugins();

foreach($ids as $id){
$content->delete($id,$conf,$plugins);
}

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

$app->redirect( 'index.php?option=com_adsmanager&c=contents', JText::_('ADSMANAGER_CONTENT_REMOVED') );
}
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
попробуйте заменить на
Код
function remove()
{
$app = JFactory::getApplication();

$content = JTable::getInstance('contents', 'AdsmanagerTable');

                                       
$ids = JRequest::getVar( 'cid', array(0));
if (!is_array($ids)) {
$table = array();
$table[0] = $ids;
$ids = $table;
}

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

                        if ($conf->send_email_del_admin_to_user == 1) {
$cid = JRequest::getVar( 'cid', array(), '', 'array' );
foreach($cid as $id) {
$model = $this->getModel( "content");
$c = $model->getContent($id,false);
$usermodel = $this->getModel("user");
$user = $usermodel->getUser($c->userid);
$model->sendMailToUser($conf->admin_del_subject,$conf->admin_del_text,$user,$c,$conf,"validation");

}
}

$model = $this->getModel( "field");
$plugins = $model->getPlugins();

foreach($ids as $id){
$content->delete($id,$conf,$plugins);

                                       
}

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

$app->redirect( 'index.php?option=com_adsmanager&c=contents', JText::_('ADSMANAGER_CONTENT_REMOVED') );
}
*

Serafon

  • Захожу иногда
  • 55
  • 5 / 0
Спасибо!
Сейчас заменю, проверю и отпишусь  ;)
*

Serafon

  • Захожу иногда
  • 55
  • 5 / 0
max_1985 спасибо, заработало!
С меня ОГРОМЕННЫЙ плюс!  *DRINK*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редактировать все объявления

Автор den_ko

Ответов: 32
Просмотров: 18046
Последний ответ 25.11.2021, 10:43:38
от FlexNL
Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 6099
Последний ответ 09.07.2019, 10:10:59
от guardnext
AdsManger не удаляет объявления

Автор kozhenevsky

Ответов: 0
Просмотров: 3122
Последний ответ 15.02.2018, 12:08:29
от kozhenevsky
Лечим кнопку "Delete from favorites" на странице объявления. AdsManager 3.1.11

Автор Mick_20

Ответов: 1
Просмотров: 3210
Последний ответ 24.12.2017, 22:28:14
от vadim73
Как добавить поле id объявления

Автор Den85

Ответов: 9
Просмотров: 4388
Последний ответ 11.11.2017, 15:18:48
от Den85