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

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Доработка AdsManager 2.7
« : 07.12.2012, 22:03:14 »
На сайте недвижимости установлен AdsManager 2.7 с офсайта, необходимо сделать чтобы пользователи (владельцы объектов недвижимости) могли добавлять свои объекты и размещать свои контакты, но их контакты мог видеть только хозяин агентства, т. е владелец сайта (логин пароль администратора), а посетители и другие зарегистрированные пользователи могли видеть только телефоны агентства.

Т.е. проще говоря сделать скрытые поля с контактами.

В самом  AdsManager 2.7 реализовано чтото подобное, т.е можно включить что контакты будут видны только зарегистрированным пользоваателям, но в т ом-то и дело что ВСЕМ, а нужно чтобы их мог видеть только человек с определенными правами.

В общем смысл в том, чтобы покупатель не мог связаться напрямую с владельцем объекта недвижимости, а только через агентство, нужно это реализовать, кто возьмется озвучте цену и сроки.

Возможно кто-то паодскажет другое рабочее решение, готов заплатить.
*

AdWeb

  • Давно я тут
  • 878
  • 31 / 3
Re: Доработка AdsManager 2.7
« Ответ #1 : 07.12.2012, 22:50:12 »
может чтот полезное найдете здесь
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Доработка AdsManager 2.7
« Ответ #2 : 07.12.2012, 23:04:54 »
Спасибо, но сайт уже работает на AdsManager 2.7, забиты объявления, нужна доработка
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Доработка AdsManager 2.7
« Ответ #3 : 08.12.2012, 00:38:11 »
Нашел файл, отвечающий за вывод или невывод контактов в зависимости от статуса пользователя,

в папке components/\views\details\tmpl/default.php    со строки 161

Код
			<div class="adsmanager_ads_contact">
<?php $strtitle = "";if (@$this->positions[4]->title) {$strtitle = JText::_($this->positions[4]->title);} ?>
<?php echo "<h2>".@$strtitle."</h2>";
if (($this->userid != 0)||($conf->show_contact == 0)) {
if (isset($this->fDisplay[5]))
{
foreach($this->fDisplay[5] as $field)
{
$c = $this->field->showFieldValue($this->content,$field);
if ($c != "") {
$title = $this->field->showFieldTitle(@$this->content->catid,$field);
if ($title != "")
echo htmlspecialchars($title).": ";
echo "$c<br/>";
}
}
}
if (($this->content->userid != 0)&&($conf->allow_contact_by_pms == 1))
{
if ($conf->display_fullname == 1)
$pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$this->content->fullname);
else
$pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$this->content->user);
$pmsForm = TRoute::_("index.php?option=com_uddeim&task=new&recip=".$this->content->userid);
echo '<a href="'.$pmsForm.'">'.$pmsText.'</a><br />';
}
}
else
{
echo JText::_('ADSMANAGER_CONTACT_NOT_LOGGED');
}
?>
</div>
   </div>

нужно изменить чтобы показывало не зарегиным а администратору или автору (любому статусом выше)

помоему это в строке 164
« Последнее редактирование: 08.12.2012, 00:57:01 от Ingener »
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Доработка AdsManager 2.7
« Ответ #4 : 08.12.2012, 00:57:56 »
Нашел решение на офсайте, правда сам еще не пробовал

to make this you need to go to:

Code:
joomla_directory\components\com_adsmanager\views\details\tmpl\default.php


find these code parts and delete them:

Code:
<div class="adsmanager_ads_price">
         <?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);
            }
         }?>
         </div>

Code:
<div class="adsmanager_ads_contact">
         <?php if (@$this->positions[4]->title) {$strtitle = JText::_($this->positions[4]->title);} ?>
         <?php echo "<b>".@$strtitle."</b>";
         if (($this->userid != 0)||($conf->show_contact == 0)) {      
            if (isset($this->fDisplay[5]))
            {      
               foreach($this->fDisplay[5] as $field)
               {  
                  echo $this->field->showFieldValue($this->content,$field);
               }
            }
            if (($this->content->userid != 0)&&($conf->allow_contact_by_pms == 1))
            {
               if ($conf->display_fullname == 1)
                  $pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$this->content->fullname);
               else
                  $pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$this->content->user);
               $pmsForm = JRoute::_("index.php?option=com_uddeim&task=new&recip=".$this->content->userid);
               echo '<a href="'.$pmsForm.'">'.$pmsText.'</a><br />';
            }
         }
         else
         {
            echo JText::_('ADSMANAGER_CONTACT_NOT_LOGGED');
         }
         ?>
         </div>


now in empty place where you deleted that code parts insert this code:

Code:
<div class="adsmanager_ads_contact">
         <?php if (@$this->positions[4]->title) {$strtitle = JText::_($this->positions[4]->title);} ?>
         <?php
         if (($this->userid == 42)||($conf->show_contact == 0)) {      
         echo "<b>".@$strtitle."</b>";
            if (isset($this->fDisplay[5]))
            {      
               foreach($this->fDisplay[5] as $field)
               {  
                  echo $this->field->showFieldValue($this->content,$field);
               }
            }
            if (($this->content->userid != 0)&&($conf->allow_contact_by_pms == 1))
            {
               if ($conf->display_fullname == 1)
                  $pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$this->content->fullname);
               else
                  $pmsText= sprintf(JText::_('ADSMANAGER_PMS_FORM'),$this->content->user);
               $pmsForm = JRoute::_("index.php?option=com_uddeim&task=new&recip=".$this->content->userid);
               echo '<a href="'.$pmsForm.'">'.$pmsText.'</a><br />';
            }
         if (@$this->positions[3]->title) {$strtitle = JText::_($this->positions[3]->title); }
         echo "<b>".@$strtitle."</b>";
         if (isset($this->fDisplay[4]))
         {
            foreach($this->fDisplay[4] as $field)
            {
               echo $this->field->showFieldValue($this->content,$field);
            }
         }
         }
         else
         {
            echo JText::_('ADSMANAGER_CONTACT_NOT_LOGGED');
         }
         ?>
         </div>


change user id to yours administrator account id, that will be able to see contact's and price in this place (in my case admin account id is "42"):
Code:
if (($this->userid == 42)||($conf->show_contact == 0))

id of account you can see in backend by clicking "Users manager" then look at "ID" column.
IMPORTANT!
in back end, Components>Adsmanager>Configuration>Contact, field "Show Contact" must to be set to "Only to logged users".
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Доработка AdsManager 2.7
« Ответ #5 : 08.12.2012, 00:58:24 »
Если кому помогло плюсуем
*

himyra

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Доработка AdsManager 2.7
« Ответ #6 : 15.01.2013, 11:50:43 »
А чтобы контакты показывало даже не зарегистрированным пользователям нужно поставить "if (($this->userid == 0)||($conf->show_contact == 1))" ?
да работает
« Последнее редактирование: 15.01.2013, 11:57:07 от himyra »
*

juk95

  • Новичок
  • 7
  • 0 / 0
Re: Доработка AdsManager 2.7
« Ответ #7 : 16.12.2014, 14:13:14 »
Всем Привет ! помогите зеленому человечку ) на Joomla 1.5 поставил AdsManager 2.7
1: почему добавленные картинки в объявлениях не могу просмотреть .
2: как поставить кнопку выйти из аккаунта
Заранее Спасибо !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор nicklas

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

Автор klekovkinandrey

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

Автор FlexNL

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

Автор murovoz

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

Автор kaman62

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