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

apelsin

  • Захожу иногда
  • 129
  • 0 / 1
AdsManager 2.6.1, нашел код отвечающий за вывод цены
Код
<tr><td style="width: 67%;">
<?php if (@$this->positions[3]->title) {$strtitle = JText::_($this->positions[3]->title); } ?>
<?php echo "<b>".@$strtitle."</b>";
if (isset($this->fDisplay[4]))
{
foreach($this->fDisplay[4] as $field)
{
echo $this->field->showFieldValue($this->content,$field);
}
}?>
</td></tr>
Подскажите как задать условие , чтобы этот блок не выводился , если не введена цена?
« Последнее редактирование: 15.06.2011, 16:51:28 от fgqwerty »
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Можно сделать вот таким образом:
Код
<?php if($contents->ad_price!=''){
<tr><td style="width: 67%;">
Цена: <?php echo $contents->ad_price; ?>
</td></tr>
<?php } else { echo ''; } ?>

p.s.: а где цену хотите вывести? В какой файле нашли этот кусок?
*

apelsin

  • Захожу иногда
  • 129
  • 0 / 1
В полном просмотре. Нашел в файле components/com_adsmanager/views/details/tmpl/default.php
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
А, тогда замените
$contents->ad_price на $this->content->ad_price
*

apelsin

  • Захожу иногда
  • 129
  • 0 / 1
Заменить этот код
Код
<tr><td style="width: 67%;">
<?php if (@$this->positions[3]->title) {$strtitle = JText::_($this->positions[3]->title); } ?>
<?php echo "<b>".@$strtitle."</b>";
if (isset($this->fDisplay[4]))
{
foreach($this->fDisplay[4] as $field)
{
echo $this->field->showFieldValue($this->content,$field);
}
}?>
</td></tr>
на этот?
Код
<?php if($this->content->ad_price!=''){
<tr><td style="width: 67%;">
Цена: <?php echo $this->content->ad_price; ?>
</td></tr>
<?php } else { echo ''; } ?>
Сделал так, но что то не работает, выдает ошибку
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Первую строчку замените на
<?php if($this->content->ad_price!='') { ?>

... и на будущее, мы не телепаты, говорите какую ошибку выдает..
*

marozz1k

  • Захожу иногда
  • 316
  • 8 / 0
можете подсказать для 2.5 версии если не заполнена цена - то не выводит, но пишется все равно "цена: руб." можно условия и на эти слова как-то поставить?
*

Goblin17

  • Захожу иногда
  • 226
  • 2 / 2
А можно чтобы когда цены нету выводилась "Договорная"?
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Для версии 2.5 есть ответ на эту тему?
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

Goblin17

  • Захожу иногда
  • 226
  • 2 / 2
Там вывелся один косяк. Если делаешь то для всего где стоит 0 или не указано (для того где цифры) везде выводит "Договорная". Тебе так нужно? Или нужно чтобы для определенного поля выводило?
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
Там вывелся один косяк. Если делаешь то для всего где стоит 0 или не указано (для того где цифры) везде выводит "Договорная". Тебе так нужно? Или нужно чтобы для определенного поля выводило?
Можно сделать чтобы "Договорная" вылазила. А куда и какой код добавить нужно?
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

Goblin17

  • Захожу иногда
  • 226
  • 2 / 2
дак тебе для всех полей или для одного?
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
дак тебе для всех полей или для одного?
Лучше для всех если можно
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
дак тебе для всех полей или для одного?
Ответ то будет или нет хотя бы для цены?
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

Goblin17

  • Захожу иногда
  • 226
  • 2 / 2
case 'price':
                //p3
               if ($value) { //For check price format see number_format, http://php.net/manual/en/function.number-format.php
                   $curval = explode('|',ADSMANAGER_VAL_CURR);
                  $taitl = 'pr_'.$field->name;
                  if(ADSMANAGER_VAL_CURR_ENABLE==1){
                      echo html_entity_decode($field->st_tag).str_replace(' ','&nbsp;',sprintf(ADSMANAGER_DEVICE,number_format($value, 0, ',', ' '))).$curval[$row->$taitl].html_entity_decode($field->en_tag);
                   }else{
                      echo html_entity_decode($field->st_tag).str_replace(' ','&nbsp;',sprintf(ADSMANAGER_DEVICE,number_format($value, 0, ',', ' '))).html_entity_decode($field->en_tag);
                  }
               } elseif($field->name == 'ad_price')
                  echo 'договорная'; // adshack
               else echo '&mdash;';
               break;


Я думаю там уже сам разберешься)))
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
case 'price':
                //p3
               if ($value) { //For check price format see number_format, http://php.net/manual/en/function.number-format.php
                   $curval = explode('|',ADSMANAGER_VAL_CURR);
                  $taitl = 'pr_'.$field->name;
                  if(ADSMANAGER_VAL_CURR_ENABLE==1){
                      echo html_entity_decode($field->st_tag).str_replace(' ','&nbsp;',sprintf(ADSMANAGER_DEVICE,number_format($value, 0, ',', ' '))).$curval[$row->$taitl].html_entity_decode($field->en_tag);
                   }else{
                      echo html_entity_decode($field->st_tag).str_replace(' ','&nbsp;',sprintf(ADSMANAGER_DEVICE,number_format($value, 0, ',', ' '))).html_entity_decode($field->en_tag);
                  }
               } elseif($field->name == 'ad_price')
                  echo 'договорная'; // adshack
               else echo '&mdash;';
               break;


Я думаю там уже сам разберешься)))

Ни чего не получается. Вставляю этот код файл "adsmanager.php" заменяя старый, все равно все постарому.
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
*

Goblin17

  • Захожу иногда
  • 226
  • 2 / 2
у тебя поле с ценой называется ad_price?
*

kisBoss

  • Захожу иногда
  • 449
  • 36 / 0
  • ник Tobol
у тебя поле с ценой называется ad_price?
Да. Может в настройках этого поля какие то особые настройки?
Если помог - поставте "плюс". Вам ничего не стоит, а мне приятно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скрыть часть номера телефона в объявлении

Автор djsante

Ответов: 3
Просмотров: 5082
Последний ответ 30.05.2017, 12:18:42
от SeBun
Приехали... Если я редактирую объявление, удаляю основную картинку и вставляю новую, маленькие изобр

Автор gertruda

Ответов: 3
Просмотров: 1444
Последний ответ 16.10.2016, 09:08:06
от Sabotage
Скрыть/показать адрес электронной почты

Автор biper

Ответов: 0
Просмотров: 1778
Последний ответ 16.06.2015, 10:28:11
от biper
Поле перестало привязываться если много категорий

Автор magistr_yoda

Ответов: 3
Просмотров: 1423
Последний ответ 12.12.2014, 12:18:25
от TimurMM
[Решено] В list вывод цены если она есть

Автор zvi

Ответов: 5
Просмотров: 1888
Последний ответ 19.06.2014, 18:49:40
от zvi