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

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Приветствую. Сабж) Возможно ли такое?
« Последнее редактирование: 27.01.2014, 15:07:11 от viteg »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
Возможно ли
смотря что вы вкладываете в понятие "возможно" :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
смотря что вы вкладываете в понятие "возможно" :)
Самое что ни на есть)
Думаю как это сделать.. в шаблоне админки js добавил строку с $lists['vendor'], но видимо нужно и саму функцию где то прописать, чтобы можно было фильтровать по продавцу.. уже с дилетантского переведите сами, я языков не знаю))
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Думаю это многим было бы полезно, т.к. пока искал на форуме решение, не раз натыкался на вопросы о системе поставщиков, и управления товарами этих поставщиков (типа массового изменения цены у всех товаров данного поставщика). Теоретически этого можно добиться и с продавцами, но для этого нужно отфильтровать все товары данного продавца и изменять цены пачкой. Ну, и обозвать продавцов поставщиками)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну если сам селект вывели, то можно попробовать в файле \administrator\components\com_jshopping\controllers\products.php->function display() поменять
Код
        if ($id_vendor_cuser){
            $filter["vendor_id"] = $id_vendor_cuser;
        }
на
Код
        $id_vendor_cuser = 1;
if ($id_vendor_cuser){
            $filter["vendor_id"] = $mainframe->getUserStateFromRequest($context.'vendor_id', 'vendor_id', 0, 'int' );
        }

селект понятное дело должен иметь name=vendor_id
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Попробовал, ничего не изменилось. Сам select не отображается в админке
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Сам select не отображается в админке
читаем еще раз первую фразу в моем ответе, думаем, и проводим работу над ошибками.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Перепроверил. Все вроде верно.
Код
<?php echo _JSHOP_VENDOR.": ".$lists['vendor_id'];?>
Это в /administrator/components/com_jshopping/views/product_list/tmpl/default.php
Код, что Вы дали поставил, перепроверил. Не выходит
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
$lists['vendor_id'] - это что? select вендоров?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
как ни странно - да) остальные выражены именно так. попробовал методом тыка с другими - таки да
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
если $lists['vendor_id'] - это select вендоров, и если в шаблоне есть
Код
<?php echo _JSHOP_VENDOR.": ".$lists['vendor_id'];?>
то тогда почему
Цитировать
Сам select не отображается в админке
?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
видимо потому, что нужно где то прописать сочетание параметров lists и vendor_id, наверное так) я в PHP не силен
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так... еще раз: что такое $lists['vendor_id'] ? что содержит эта переменная? селект вендоров? потому как судя по тому, что вы пишите, она ничего не содержит, и вот это
Цитировать
как ни странно - да)
не соответствует действительности
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
$lists['vendor_id'], сейчас сменил его на $lists['vendors'], генерирует select. генерация самого селекта проходит в \administrator\components\com_jshopping\controllers\products.php .

Насколько я понял генерируется он здесь:
Код
$manuf1 = array();
        $manuf1[0] = new stdClass();
        $manuf1[0]->manufacturer_id = '0';
        $manuf1[0]->name = " - - - ";

        $_manufacturer = $this->getModel('manufacturers');
        $manufs = $_manufacturer->getList();
        $manufs = array_merge($manuf1, $manufs);
        $lists['manufacturers'] = JHTML::_('select.genericlist', $manufs, 'manufacturer_id','onchange="document.adminForm.submit();"', 'manufacturer_id', 'name', $manufacturer_id);

Я по образцу сделал аналогичное для вендоров:
Код
$vend1 = array();
        $vend1[0] = new stdClass();
        $vend1[0]->vendor_id = '0';
        $vend1[0]->name = " - - - ";

$_vendor = $this->getModel('vendors');
        $vends = $_vendor->getList();
        $vends = array_merge($vend1, $vends);
$lists['vendors'] = JHTML::_('select.genericlist', $vends,'vendor_id','onchange="document.adminForm.submit();"', 'vendor_id', 'name', $vendor_id);

Но теперь на странице пропадает вообще все. Где то ошибка, и я не разобрался какая.
Если удаляю строку $vends = $_vendor->getList(); - то все возвращается на свои места (видимо ошибка таки здесь :) ), а вместо фильтра по вендорам - пустой select.

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
1. в модели вендоров нет метода getList(). вы можете посмотреть файл модели \administrator\components\com_jshopping\models\vendors.php чтобы увидеть какие методы и с какими параметрами доступны в этой модели.
2. также обратите внимание, что в таблице #__jshopping_vendors нет ни поля 'vendor_id', ни поля 'name', а вы их указываете при генерации селекта.

поправить эти 2 момента, и в принципе все остальное верно.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Намек понял и сделал следующее:
Код
$vend1 = array();
$vend1[0] = new stdClass();
$vend1[0]->id = '0';
$vend1[0]->f_name = " - - - ";

$_vendor = $this->getModel('vendors');
$vends = $_vendor->getAllVendors();
$vends = array_merge($vend1, $vends);
$lists['vendors'] = JHTML::_('select.genericlist', $vends,'id','onchange="document.adminForm.submit();"', 'id', 'f_name', $id);

Теперь вместо name берется first name продавца, за vendor_id - id, т.к. вендорский ID представлен именно так.
Итог: селект генерируется, и даже переключается по продавцам. но... товары не сортируются, и как я понимаю такой функции у вендоров тоже нет, нужно ее где то задать, но я понятия не имею где. И кроме того, не открывается создание/редактирование товара, пустой экран.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Цитировать
Теперь вместо name берется first name продавца, за vendor_id - id, т.к. вендорский ID представлен именно так.
тут почти все верно сделали. кроме одного момента :)

Цитировать
товары не сортируются
потому что перестарались с заменой vendor_id. у вас теперь селект имеет name=id, а должен иметь name=vendor_id. а также выбранный пункт определяется как $id, а должен как $vendor_id. при формировании селекта первый и последний id верните обратно :)

Цитировать
и как я понимаю такой функции у вендоров тоже нет
функция одна на всех, мы для нее ранее добавили параметр фильтрации
Код
$filter["vendor_id"] = $mainframe->getUserStateFromRequest($context.'vendor_id', 'vendor_id', 0, 'int' );

Цитировать
И кроме того, не открывается создание/редактирование товара, пустой экран.
ну сделайте сначала вот этот момент с id, потом включите ошибки и посмотрите что на этом белом экране будет написано

P.S. а, и кстати, при формировании селекта вы должны указать текущий выбранный пункт этого селекта. а я так понимаю вы его нигде не получаете. поэтому надо изменить чуть тот код, что я ранее писал
Код
$id_vendor_cuser = 1;
if ($id_vendor_cuser){
            $vendor_id = $mainframe->getUserStateFromRequest($context.'vendor_id', 'vendor_id', 0, 'int' );
            $filter["vendor_id"] = $vendor_id;
        }
        // и вот тут уже ваш исправленный код формирования селекта
« Последнее редактирование: 26.01.2014, 16:37:00 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

viteg

  • Захожу иногда
  • 209
  • 2 / 0
Работает, спасибо огромное. При моем незнании PHP - это абсолютная победа, благодаря Вам)
« Последнее редактирование: 27.01.2014, 15:06:00 от viteg »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод списка товаров с учетом значения связанного атрибута

Автор newalex

Ответов: 2
Просмотров: 2608
Последний ответ 17.10.2024, 08:51:19
от newalex
Вместо стоимость 0 руб. вывести БЕСПЛАТНО в карточке товаров (Каталоге)

Автор IgorGeneralov

Ответов: 0
Просмотров: 3528
Последний ответ 13.04.2023, 21:06:09
от IgorGeneralov
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 18641
Последний ответ 22.08.2022, 09:54:16
от kit2m2
В списке товаров вывести названия категорий каждого товара

Автор shop-user

Ответов: 5
Просмотров: 4418
Последний ответ 25.01.2022, 06:05:12
от kit2m2
Плагин - Инфоблок товара в списке товаров [Скачать]

Автор kit2m2

Ответов: 13
Просмотров: 4045
Последний ответ 20.10.2021, 14:51:08
от kit2m2