Новости Joomla

Компонент 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

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

👩‍💻 WT LLMs для Joomla: llms.txt, llms.json для AI-агентов.

Это Joomla-компонент для публикации AI-ready карты сайта и автоматической генерации файлов llms.txt, llms-full.txt и llms.json по концепции llmstxt.org.  Также о концепции llms.txt говорит Google в своей справке Lighthouse. Решение помогает LLM-моделям, AI-агентам, GEO/AI SEO-процессам и внутренним автоматизациям получать структурированные данные о сайте без ручной сборки JSON и Markdown.

С помощью WT LLMs можно:
- создать структурированное описание сайта для AI-агентов;
- управлять профилем сайта, картой интентов и каноническими страницами для этих интентов из админки Joomla;
- генерировать llms.txt и llms.json;
- использовать REST API для автоматического заполнения данных;
- отдавать публичную schema-инструкцию для AI-агентов;

В комплект компонента входит плагин markdown-версии страниц Joomla. Системный плагин Joomla, который добавляет альтернативное Markdown-представление страниц сайта. Он позволяет отдавать содержимое страницы в более чистом текстовом формате, удобном для AI-агентов, LLM, поисковых систем и технических интеграций.
Плагин добавляет в ссылки на AI-файлы.

Пакет подходит для сайтов на Joomla 5+, которым важно сделать контент понятнее для LLM, AI-поиска, ассистентов и будущих систем машинного чтения.

Видео:
- ВК Видео
- RuTube
- YouTube

Ссылки:
Страница расширения
GitHub

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 4771 Просмотров
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Joomla 2.5

Есть необходимость заполнить одно из полей формы некоторым значением в момент отправки формы. Значение берется из php-скрипта, который выполняется после того как юзер нажал кнопку "отправить". По сути нужно осуществить перехват события отправки. Я написал скрипт на jquery, но он не успевает исполнится, потому что у хроноформс похоже собственный обработчик на мутулс, который срабатывает быстрее. Мой скрипт отрабатывает, если в форме были допущены ошибки заполнения и она не отправляется после нажатия на "отправить". Но этот вариант не годится.
Как решить проблему?
« Последнее редактирование: 19.08.2014, 17:09:02 от Zverek »
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Сделай чтобы скрипт исполнялся на странице, и поле перед отправкой будет уже с нужным наполнением. Или в обработчике, где идет получение значений name, заполнить нужной информацией из php-скрипта, который выполняется после того как юзер нажал кнопку "отправить".
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Сделай чтобы скрипт исполнялся на странице, и поле перед отправкой будет уже с нужным наполнением.

Фишка в том, что значение должно присваиваться именно в момент отправки данных. Значение берется из БД и за время заполнения формы оно там может изменится. Поэтому брать его нужно в последний момент.

Или в обработчике, где идет получение значений name, заполнить нужной информацией из php-скрипта, который выполняется после того как юзер нажал кнопку "отправить".

А где этот обработчик? Это надо менять скрипт самого хроноформса, как я понимаю. Не думаю, что это вариант, поскольку при обновлении компонента мои изменения исчезнут.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Ну, если так обновлять не умеете..
Тогда поточнее, что откуда берется, почему эти данные так часто меняются, и для чего они нужны. Может есть другой вариант решения...
И что это за поле такое в БД которое меняется, и может вставляться в форму..?
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
форма - заявка на услуги. Каждая заявка имеет номер. Номер формируется из текущей даты и порядкового номера заявки. Чтобы узнать порядковый номер, нужно считать из базы номер предыдущей заявки и увеличить на единицу. Если сформировать поле с номером заявки в момент, когда форма только появляется на странице, то велика вероятность того, что пока юзер будет заполнять заявку, другой юзер заполнит форму, отправит данные и изменит номер последней заявки в БД. Поэтому считывать номер заявки нужно именно в последний момент. То есть когда юзер уже отправляет данные.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
очень, и очень тонко..) Есть такой аттрибут для полей БД как AUTO_INCREMENT, благодаря ему у тебя не будут совпадать номера заявок..)))
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Дело в том, что каждый год порядковый номер должен обнуляться! То есть, номер растет в пределах одного года. Год кончился - начинаем нумерацию сначала. Поэтому я не могу воспользоваться уникальным id заявки, а должен сделать в БД специальное поле для номера.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Зачем это, вручную считать будешь чтоли?)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Не я придумывал ТЗ :)

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

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Я написал скрипт на jquery, но он не успевает исполнится, потому что у хроноформс похоже собственный обработчик на мутулс, который срабатывает быстрее.
Опа, что-то я этого сразу не заметил...  :o

Скрипт в студию, ща ускорим его..!
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Да обычный перехватчик.

Код
$('#myform').submit(function(){
$.post("zayavka.php", function(response)
{
 $('#number').val(response);

});    
});


number - id текстового поля, в которое вставляется номер заявки
zayavka.php - скрипт запроса номера предыдущей заявки из БД и формирования нового номера

Вот если я жму на "отправить" не заполнив какого-то обязательного поля, то данный перехватчик срабатывает - записывает номер заявки в нужное поле и потом при повторной отправке данных (когда все обязательные поля заполнены) передает это значение в БД и в письмо.
Но если форма сразу заполнена верно, то обработчик не срабатывает. Как будто его нет вовсе. Ставил return false; не помогает.. алерты выводил внутри обработчика - ничего не работает, если ошибок в форме нет. Она просто уходит и все. Без нужного поля.

Насчет того, что в хроноформс обработчик на mootools  и он срабатывает быстрее моего - это лишь предположение. Я не знаю как на самом деле работает форма.
« Последнее редактирование: 18.08.2014, 14:42:39 от Zverek »
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Все, пошутили и хватит.. письмо отправляется только после того как в БД добавлены данные, в итоге получается, что после запроса на сохранение новой заявки INSERT, но, до функции отправки письма, нужно создать запрос SELECT, и выбрать все необходимые поля, для отправки в письме.
файл zayavka.php скиньте тоже, возможно проблема в нем..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0


Цитировать
в итоге получается, что после запроса на сохранение новой заявки INSERT, но, до функции отправки письма, нужно создать запрос SELECT, и выбрать все необходимые поля, для отправки в письме.
Не уловил мысль. Это все делает хроноформс. Зачем нам вмешиваться в этот процесс?  На мой взгляд достаточно, что номер последней заявки мы считаем в момент отправки данных. тут же сформируем новый номер и скормим его хроноформсу.
Скрипт заявки ниже, но он выполняет поставленную перед ним цель. Он рабочий.

номер выглядит так: 12_08_14, где 12 - номер заявки по порядку. 08_14 - текущий месяц и год
В поле БД `number` заявка в таком виде и хранится: 12_08_14. Следующий код считывает номер последней заявки, парсит его, и формирует новый.
Код
$sql = "SELECT number FROM `g5x4u_zayavka` ORDER BY `cf_id` DESC LIMIT 1";
$db->setQuery($sql);
$data_row = $db->loadRow();
$new_number='1';
if($data_row!='')
{
$explode=explode('_',$data_row[0]);

$old_year=$explode[2];
$new_number= ($old_year==date('y'))? $explode[0]+1 : 1;

}

$all_number=$new_number.'_'.date('m').'_'.date('y');
echo $all_number;

*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Цитировать
Зачем нам вмешиваться в этот процесс?  На мой взгляд достаточно, что номер последней заявки мы считаем в момент отправки данных.

Извините, связь прервалась... я сдаюсь..)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

Zverek

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
На самом деле у меня просто неверно был написан перехватчик события отправки (ошибку разъяснили на другом форуме). Mootools  тут вообще не при делах, поскольку он отвечает только за валидацию формы. Далее форма уходит на обработку стандартным путем. И при корректном перехватчике моя задача решается элементарно.
Вот правильный скрипт перехватчика (не думаю, что кому-то надо будет так заморачиваться, но вдруг...)

Код
$('#myform').submit(function(e, force)
{
    if(!force)
   {
       e.preventDefault();    
       $.post("zayavka.php", function(response)
       {
   $('#number').val(response);
            $('#myform').trigger('submit','true');
        });  
   }

});


То есть вся эта тема к ChronoForms вообще говоря мало отношения имеет. Знание JQuery и ничего больше.
« Последнее редактирование: 20.08.2014, 09:51:44 от Zverek »
*

МихаилМ

  • Захожу иногда
  • 55
  • 2 / 0
Вот правильный скрипт перехватчика (не думаю, что кому-то надо будет так заморачиваться, но вдруг...)

Код
$('#myform').submit(function(e, force)
{
    if(!force)
   {
       e.preventDefault();   
       $.post("zayavka.php", function(response)
       {
    $('#number').val(response);
            $('#myform').trigger('submit','true');
        });   
   }

});



Друг! У тебя там бесконечный цикл получается в скрипте. На субмит
Код
$('#myform').submit(function(e, force)
ты запускаешь операции, которые запускают эту же функцию опять
Код
$('#myform').trigger('submit','true');
Тут правильно делать обработчик событий на кнопку в форме
Код
$('#какая-то кнопка внутри формы').click(function() {});	
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

url материала на email (ChronoForms) [Решено]

Автор Konstantinl

Ответов: 20
Просмотров: 15269
Последний ответ 12.08.2022, 03:00:20
от jesus
Как выводиться форма в модуле? ChronoForms 7?

Автор Alex_iPod

Ответов: 3
Просмотров: 4839
Последний ответ 26.04.2022, 06:19:06
от marksetter
Как в ChronoForms сделать изменение формы в зависимости от выбора?

Автор sashka17

Ответов: 0
Просмотров: 4928
Последний ответ 08.02.2021, 09:33:52
от sashka17
ChronoForms 3 перестал работать на joomle 2.5.9. Ищу совета или специалиста

Автор RuslanKazan

Ответов: 2
Просмотров: 4870
Последний ответ 09.12.2020, 14:19:18
от draff
Информация с UTM меток в ChronoForms

Автор BykovAlx

Ответов: 1
Просмотров: 5786
Последний ответ 13.07.2020, 15:13:06
от jesus