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

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
Это же в scc?
ну, во-первых, не scc, а CSS...
а, во-вторых, решения как такового не существует (или мб я о нём не знаю), можно сделать только так с подбором параметров
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

meiram077

  • Захожу иногда
  • 225
  • 0 / 0
Там два кода.

1-й. При помощи каскадных таблиц стилей (CSS) можно изменить стандартный вид объекта <SELECT>:
Цитировать
<SELECT size=1 style="position:absolute;width:100px;
clip:rect(2px 82px 20px 2px);background:pink;top:10px;">
<OPTION VALUE=1>One
<OPTION VALUE=2>Two
<OPTION VALUE=3>Three
</SELECT>

2-й. Вот еще вариант:
Цитировать
<span style="width:86px; border-top:#C6C6C6 solid 1px;border-left:#C6C6C6 solid 1px; height:17px;">
  <select size=1 style="margin:-2px -2px -1px -2px; width:90px; border:none">
    <option value="1">Январь</option>
    <option value="2">Февраль</option>
    <option value="3">Март</option>
    <option value="4">Апрель</option>
    <option value="5">Май</option>
    <option value="6">Июнь</option>
    <option value="7">Июль</option>
    <option value="8">Авугуст</option>
    <option value="9">Сентябрь</option>
    <option value="10">Октябрь</option>
    <option value="11">Ноябрь</option>
    <option value="12">Декабрь</option>
  </select>
</span>

Как их проверить? Куда вставить?
Мне очень надо избавиться от этой пунктирной рамки!
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Тема создана 20 дней назад, за такой срок можно было нагуглить 1001 скрипт подсказок с описанием как прикрутить, выучить основы HTML и CSS и сделать что-то похожее самому, но нет же, Вы сидите и ждёте "с моря погоды", был даже предложен коммерческий вариант, если лень самому что-то делать и опять же Вас не устроило, я уже дал практически готовый код и снова "игнор". Честно не понимаю я Вас! И да простят меня высшие силы за помощь этому беспомощному человеку!
1) в \components\com_adsmanager\css\adsmanager.css вставляем
Код
.adsmanager_required:focus { 
border: 1px solid #B7D5EA !important;
border-radius: 3px;
box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.071), 0px 0px 8px rgba(82, 168, 236, 0.600);
}
.adsmanager:focus {
border: 1px solid #B7D5EA !important;
border-radius: 3px;
box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.071), 0px 0px 8px rgba(82, 168, 236, 0.600);
}

.hint {
border: 1px solid #DCE9FC;
background: url("../images/strelka.gif") -10px 5px no-repeat #FFFFFF !important;
box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.196)!important;
display: none;
font: 12px/18px "Verdana";
margin-left: 10px !important;
padding: 5px 5px 5px 25px !important;
position: absolute !important;
text-align: center !important;
width: 255px !important;
}

.hint .hint-pointer {
background: url("../images/strelka.gif") no-repeat transparent !important;
height: 19px;
left: -10px;
position: absolute !important;
top: 2px;
width: 10px;
}
2. в \components\com_adsmanager\views\edit\tmpl\default.php к имеющемуся скрипту добавляем
Код
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
function prepareInputsForHints() {
var inputs = document.getElementsByTagName("input");
for (var i=0; i<inputs.length; i++){
if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
inputs[i].onfocus = function () {
this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
}
inputs[i].onblur = function () {
this.parentNode.getElementsByTagName("span")[0].style.display = "none";
}
}
}
var selects = document.getElementsByTagName("select");
for (var k=0; k<selects.length; k++){
if (selects[k].parentNode.getElementsByTagName("span")[0]) {
selects[k].onfocus = function () {
this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
}
selects[k].onblur = function () {
this.parentNode.getElementsByTagName("span")[0].style.display = "none";
}
}
}
}
addLoadEvent(prepareInputsForHints);
3. в \components\com_adsmanager\helpers\field.php ищем код (примерно строка 543)
Код
if ((@$field->description)&&($field->description !="")) {
if (ADSMANAGER_SPECIAL != "abrivac")
JHTML::_('behavior.tooltip');
$return .= JHTML::tooltip(JText::_($field->description),JText::_($field->title));
}
меняем на
Код
if ((@$field->description)&&($field->description !="")) {
$return .= "<span class='hint'>".JText::_($field->description)."<span class='hint-pointer'> </span></span>";
}
4. в папку \components\com_adsmanager\images\ кладём прилепленную картинку

В версии 2.8.2 не прокатило, может конфликт скриптов?
*

LS_D

  • Захожу иногда
  • 155
  • 16 / 0
Попробуй скрипт отдельно подгрузить, выше имеющевося
Спойлер
[свернуть]
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Пробовал не получилось.
*

big-z

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
на 2.7. тоже не катит. просто не отображает ничего
*

khan-alex

  • Давно я тут
  • 651
  • 30 / 1
На 3,0,4 никто не реализовал?
Понимаю, что что-то нужно поменять в \components\com_adsmanager\helpers\field.php , но не догоняю что?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор den_ko

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

Автор guardnext

Ответов: 1
Просмотров: 6096
Последний ответ 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
Просмотров: 3209
Последний ответ 24.12.2017, 22:28:14
от vadim73
Как добавить поле id объявления

Автор Den85

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