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

TenderWinner

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Такая проблема, хочется чтобы не надо было вводить артикул а он скажем брал максимум от всех артикулов в базе и ставил новому продукту максимум+1, есть может у кого хак или другое предложение толковое?
*

warlocksp

  • Завсегдатай
  • 1198
  • 17 / 4
Такая проблема, хочется чтобы не надо было вводить артикул а он скажем брал максимум от всех артикулов в базе и ставил новому продукту максимум+1, есть может у кого хак или другое предложение толковое?

Адрес форума: http://joomlaforum.ru/index.php?topic=20865.0

Нужно сделать следующие:

В файле: administrator\components\com_virtuemart\classes\ps_product.php

Нужно заменить:

if (empty( $d["product_sku"])) {
   $vmLogger->err( $VM_LANG->_('VM_PRODUCT_MISSING_SKU',false) );
   $valid = false;
}

Заменить на:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

Проблема решина...
Мудр не тот, кто знает много, а тот, чьи знания полезны. Эсхил
*

TenderWinner

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Спасибо, попробую, ато приходилось блин самому из базы максимальное значение доставать и 1 прибавлять :)
*

TenderWinner

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

У себя сделал константно jos_vm_product.
*

bato

  • Осваиваюсь на форуме
  • 49
  • 2 / 0
  • Пашу как папа Карло

У себя сделал константно jos_vm_product.

не совсем понятно что означает
*

Timer

  • Захожу иногда
  • 109
  • 1 / 1
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}


при таком раскладе у меня больше 10 артикул не добавляется.. все последующие ставятся 10 и само собой товар с одним артикулом не добавляется
*

xTMx

  • Захожу иногда
  • 145
  • 4 / 0
+1 актуально. вшие 10ти артикул не идет. сам не допер чото  где ошибка. вроде логично всё
*

antfrolov

  • Захожу иногда
  • 83
  • 2 / 2
РЕШЕНИЕ НЕ РАБОТАЕТ! VM 1.1.X Joomla 1.5.18
У меня везде пишет артикул 1. Таким образом набирается несколько товаров с артикулом 1. При редактировании информации о товаре пишет что товар с таким артикулом существует. (их уже 4 существовало на тот момент :))
*

antfrolov

  • Захожу иногда
  • 83
  • 2 / 2
РАБОЧЕЕ РЕШЕНИЕ:
В файле: administrator\components\com_virtuemart\classes\ps_product.php

Нужно заменить:

if (empty( $d["product_sku"])) {
   $vmLogger->err( $VM_LANG->_('VM_PRODUCT_MISSING_SKU',false) );
   $valid = false;
}

Заменить на:
 if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $list_sku;
         $valid = true;
    }

Взято отсюда http://joomlaforum.ru/index.php/topic,20865.0.html
*

GrayHunter

  • Захожу иногда
  • 64
  • 1 / 0
Попробовал последний вариант - вроде работает. Спасибо, а то замучился бы с этим артиклем )
*

IND

  • Новичок
  • 8
  • 0 / 0
привет всем.
а как бы сделать так чтоб ещё имя производителя перед артикулом добавлялось ? и выглядело бы это потом например так
Производитель-14897298341
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
по идее
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT mf_name FROM #__{vm}_manufacturer WHERE manufacturer_id=".$manufacturer_id;
           $db->query( $q );
           $db->next_record();
$mf_name=$db->mf_name;
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $mf_name.'-'.$list_sku;
         $valid = true;
    }

как-то так...
*

GrayHunter

  • Захожу иногда
  • 64
  • 1 / 0
не работает так. Пишет просто "-583290588".

Вообще, мне бы в артике хотелось бы так: "id_производителя - артикул"

Помогите пожалуйста.
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
тогда должно быть проще:
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $d['manufacturer_id'].'-'.$list_sku;
         $valid = true;
    }

в предыдущем коде была ошибка - во второй стороке вместо $manufacturer_id нужно $d['manufacturer_id'], писал по памяти - ошибся.
*

GrayHunter

  • Захожу иногда
  • 64
  • 1 / 0
Работает. Спасибо.

А может Вы подскажете как вывести название производителя в confirmation_email.tpl.php ? Моих знаний не хватает. :(
*

IND

  • Новичок
  • 8
  • 0 / 0
тогда должно быть проще:
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $d['manufacturer_id'].'-'.$list_sku;
         $valid = true;
    }

в предыдущем коде была ошибка - во второй стороке вместо $manufacturer_id нужно $d['manufacturer_id'], писал по памяти - ошибся.
спасибо большое !!
*

Biomech

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Хм, странно, а у меня почему то выводит артикулы случайным образом. А как сделать, чтобы они допустим начинались с 100000.
Количество знаков уменьшил, но каждый раз при создании, почему то идут не подряд.
*

aslanamirov

  • Захожу иногда
  • 87
  • 4 / 0
  • Ййехаа!
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

У себя сделал константно jos_vm_product.

Спасибо. Как и хотел чтоб по порядку и не задумываться о его вводе. Спасибо! VirtueMart у меня 1.1.4
*

stepcool

  • Новичок
  • 7
  • 1 / 0
тогда должно быть проще:
Код
if (empty( $d["product_sku"])) {
      $q = "SELECT MAX(product_id) AS product_id FROM #__{vm}_product";
           $db->query( $q );
           $db->next_record();
         $list_sku = intval($db->f("product_id"))+rand(intval($db->f("product_id")), 999999999);
         $d['product_sku'] =  $d['manufacturer_id'].'-'.$list_sku;
         $valid = true;
    }

в предыдущем коде была ошибка - во второй стороке вместо $manufacturer_id нужно $d['manufacturer_id'], писал по памяти - ошибся.

У меня заработало это решение. VirtueMart 1.1.8. В поле артикул добавилось 5-766021748. 5 это id производителя, а 766021748 - простой набор цифр.  ^-^
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
спасибо код работает прекрасно!
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Немного изменил решение, чтобы артикулы шли по порядку, сделал так:

if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

У себя сделал константно jos_vm_product.

Подскажите как сделать чтобы следующее значение артикула ставилось по шаблону, например 0000083, 0000084 и т.д.
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Помогите пожалуйста решить проблему, автоматически артикул присваивается только до 100 включительно, 101, 102 и т.д. не ставится. Может где-то ошибка в коде? В итоге у меня создается несколько товаров с артикулом 100, соответственно из них на сайте отображается только один  :(
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
Прошу повторно, поиск не дал результатов, а проблема имеет место быть.
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
У кого не работает этот код:

Код
if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

или артикул идет только до 10, нужно изменить тип поля product_sku с VARCHAR на int установить длину поля с 64 на вашу и по умолчанию сделать - нет.
После этого все работает.
*

TULLIVER

  • Осваиваюсь на форуме
  • 26
  • 6 / 0
А по подробнее можно, а то не совсем понятно где менять тип поля и длину!
*

TULLIVER

  • Осваиваюсь на форуме
  • 26
  • 6 / 0
Цитировать
tagilnext

Спасибо огромно, низкий поклон тебе друг, реально помогло!
не могу понять где тут плюсик ставить!
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
У кого не работает этот код:

Код
if (empty( $d["product_sku"])) {
        $q = "SELECT MAX(product_sku) AS product_sku FROM #__{vm}_product";
        $db->query( $q );
        $db->next_record();
        $list_sku = intval($db->f("product_sku"))+1;
        $d['product_sku'] =  $list_sku;
        $valid = true;
}

или артикул идет только до 10, нужно изменить тип поля product_sku с VARCHAR на int установить длину поля с 64 на вашу и по умолчанию сделать - нет.
После этого все работает.

Не понял где это все менять, расскажите пожалуйста подробнее.
*

TULLIVER

  • Осваиваюсь на форуме
  • 26
  • 6 / 0
Цитировать
product_sku с VARCHAR на int установить длину поля с 64 на вашу и по умолчанию сделать - нет.

phpmyadmin -> выбераете базу -> выбераете таблицу -> сверху выбераете структура -> напротив нужного поля изменить - > в типе ставите int, значение длина 11( это говорит что максимальное число будет состоять из 11 символов например 99999999999, я думаю этого хватит с запасом ) по умолчанию ставите нет.

готово
*

Sequels

  • Захожу иногда
  • 104
  • 5 / 0
phpmyadmin -> выбераете базу -> выбераете таблицу -> сверху выбераете структура -> напротив нужного поля изменить - > в типе ставите int, значение длина 11( это говорит что максимальное число будет состоять из 11 символов например 99999999999, я думаю этого хватит с запасом ) по умолчанию ставите нет.
готово

Спасибо за ответ, все работает! +1
*

andalit

  • Новичок
  • 4
  • 0 / 0
а нельзя в базе просто сделать Auto incr ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести в корзине заказа VirtueMart вес заказанного товара в кг?

Автор pavel55

Ответов: 1
Просмотров: 3694
Последний ответ 27.07.2015, 17:46:17
от BHy4eK
VirtuemartCare. Сервисный компонент для VirtueMart.

Автор beagler

Ответов: 73
Просмотров: 20260
Последний ответ 08.05.2015, 20:56:47
от beagler
Модуль "VirtueMart Currency Selector". Как устанавливать курс.

Автор MOHCTPUK

Ответов: 58
Просмотров: 45316
Последний ответ 06.05.2015, 11:07:45
от One
Массовое изменение цен в VirtueMart. Что я делаю не так?

Автор Naima

Ответов: 15
Просмотров: 10692
Последний ответ 12.03.2015, 17:41:10
от mrspm
Добавление параметров атрибута

Автор Afelua

Ответов: 1
Просмотров: 1617
Последний ответ 28.11.2013, 16:30:10
от fsv