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

Добрый день!
Появилась такая задача: создать модуль, который бы отображал Горячие туры.
Сделал такой файл xml:
Код
<params addpath="/modules/mod_hot_tours/elements">
        <param name="tour_dates" type="text" default="" label="Дата вылета" description="Дата вылета в тур" />
        <param name="tour_nights" type="text" default="" label="Ночей в туре" description="Количество ночей в туре" />
        <param name="tour_country" type="country" default="" label="Страна" description="Страна, в которую прибывают в тур" />
        <param name="@spacer" type="spacer" default="" label="" description="" />
        <param name="tour_name_hotel1" type="text" size="40" default="" label="Название 1-го отеля" description="Название 1-го отеля" />
        <param name="tour_price_hotel1" type="text" default="" label="Цена 1-го отеля" description="Цена 1-го отеля" />
        <param name="tour_name_hotel2" type="text" size="40" default="" label="Название 2-го отеля" description="Название 2-го отеля" />
        <param name="tour_price_hotel2" type="text" default="" label="Цена 2-го отеля" description="Цена 2-го отеля" />
        <param name="tour_name_hotel3" type="text" size="40" default="" label="Название 3-го отеля" description="Название 3-го отеля" />
        <param name="tour_price_hotel3" type="text" default="" label="Цена 3-го отеля" description="Цена 3-го отеля" />
        <param name="tour_name_hotel4" type="text" size="40" default="" label="Название 4-го отеля" description="Название 4-го отеля" />
        <param name="tour_price_hotel4" type="text" default="" label="Цена 4-го отеля" description="Цена 4-го отеля" />
        <param name="tour_name_hotel5" type="text" size="40" default="" label="Название 5-го отеля" description="Название 5-го отеля" />
        <param name="tour_price_hotel5" type="text" default="" label="Цена 5-го отеля" description="Цена 5-го отеля" />
        <param name="tour_name_hotel6" type="text" size="40" default="" label="Название 6-го отеля" description="Название 6-го отеля" />
        <param name="tour_price_hotel6" type="text" default="" label="Цена 6-го отеля" description="Цена 6-го отеля" />
        <param name="tour_name_hotel7" type="text" size="40" default="" label="Название 7-го отеля" description="Название 7-го отеля" />
        <param name="tour_price_hotel7" type="text" default="" label="Цена 7-го отеля" description="Цена 7-го отеля" />
        <param name="tour_descr" type="textarea" rows="10" cols="50" default="" label="Краткое описание" description="Краткое описание" />
    </params>

Но в этом случае отображается много блоков (Название отеля, Цена отеля), а нужно, чтобы отображались один такой блок.
А при нажатии на кнопку "Добавить отель" в параметры модуля добавлялся еще один блок с полями Название отеля, Цена отеля.

Подскажите как это реализовать? Может воспользоваться elements?
*

migus

  • Давно я тут
  • 992
  • 144 / 0
  • OPEN THE BOX
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Да,если постараться то можно такое сделать. Нужно создать свой тип элемента. Но тут загвоздка есть. Параметр может хранить либо единичное значение либо массив, но не массив массивов что тут требуется. Вот пример элемента который отображает поля и кнопку Давить поле. Сделать пары полей уже не получится.

Код: php
class JElementMultiText extends JElement
{
/**
* Element name
*
* @access protected
* @var string
*/
var $_name = 'MultiText';

function fetchElement($name, $value, &$node, $control_name)
{
$size = ( $node->attributes('size')? 'size="'.$node->attributes('size').'"' : '' );
$class = ( $node->attributes('class')? 'class="'.$node->attributes('class').'"' : 'class="text_area"' );
$document =& JFactory::getDocument();
        /*
         * Required to avoid a cycle of encoding &
         * html_entity_decode was used in place of htmlspecialchars_decode because
         * htmlspecialchars_decode is not compatible with PHP 4
         */
       

$script = '
function addInput(button) {
var input = button.parentNode.insertBefore(document.createElement(\'input\'), button);
input.parentNode.insertBefore(document.createElement(\'br\'), button);
input.name = \''.$control_name.'['.$name.'][]\''.';
return false;
}
';
$document->addScriptDeclaration($script);
$inputs = array();
foreach ((array) $value as $val)
{
$val = htmlspecialchars(html_entity_decode($val, ENT_QUOTES), ENT_QUOTES);
$inputs[] = '<input type="text" name="'.$control_name.'['.$name.'][]" value="'.$val.'" '.$class.' '.$size.' />';
}
return implode('<br />', $inputs).'<button type="button" onclick="addInput(this)">Add Input</button>';
}
}
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна помощь в исправлении ошибок модуля

Автор megaboy161

Ответов: 16
Просмотров: 1745
Последний ответ 20.01.2020, 18:00:44
от sivers
AJAX для модуля на 1.5

Автор voland

Ответов: 2
Просмотров: 1766
Последний ответ 04.03.2016, 12:08:41
от b2z
[how to] Красота JHTML, или создание элементов формы с

Автор Professor

Ответов: 11
Просмотров: 24795
Последний ответ 27.12.2012, 18:14:38
от BaR
Как вы "въехали" в создание расширений?

Автор aanvale

Ответов: 4
Просмотров: 2979
Последний ответ 13.10.2012, 21:44:25
от passer
Как получить ID для каждого выводимого модуля на странице

Автор enshtein

Ответов: 6
Просмотров: 6712
Последний ответ 12.01.2012, 08:54:19
от enshtein