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

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Всем привет!
Не отображается стандартный модуль последних товаров. При публикации модуля получаю ошибку
Код
Fatal error: Call to a member function setModel() on boolean in /var/www/market.ru/modules/mod_jshopping_latest_products/mod_jshopping_latest_products.php on line 70
В этом районе код такой
Код
	
addLinkToProducts($rows, 0, 1);

$productlist = JSFactory::getModel('productList', 'jshop');
$productlist->setModel($product);
$productlist->load();

if ($enable_addon){
$dispatcher->trigger('onBeforeDisplayProductList', array(&$rows));
$view = new stdClass();
$view->rows = $rows;
$dispatcher->trigger('onBeforeDisplayProductListView', array(&$view, &$productlist));
$rows = $view->rows;
}
Если закомментировать строки
Код
//$productlist = JSFactory::getModel('productList', 'jshop');
//$productlist->setModel($product);
//$productlist->load();
то все вроде ок, модуль появляется, товары отображаются. Но на сколько это решение верное и за что отвечают эти строки? Не наврежу ли я такими действиями?
*

dmitry_stas

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

kit2m2

  • Живу я здесь
  • 3374
  • 276 / 0
  • Беру сайты на полное сопровождение
От сюда качали модуль?
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
какая у вас версия ЖШ?
Пардон, забыл.. Joomla 3.9.8 , JS 4.18.3
От сюда качали модуль?
Да, версия 4.1.4
4.1.3 тоже ставил, результат тот же.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
JSFactory::getModel('productList', 'jshop')
Не находит он эту модель. Она есть вообще?
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
JSFactory::getModel('productList', 'jshop')
Не находит он эту модель. Она есть вообще?
Как это проверить? Модуль публикую на главной. Сам компонент на другой странице.

На страницах JS (категория, товар), модуль работает штатно, без ошибок.
« Последнее редактирование: 19.06.2019, 18:52:46 от zahar_92 »
*

ST_Rage

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Цитировать
Как это проверить?
В коде вашего шаблона. В самом начале файла index.php.
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
В коде вашего шаблона. В самом начале файла index.php.
Шаблон protostar. На сколько я понимаю, в шаблоне Joomla эта модель не должна присутствовать. Повторюсь, если на странице присутствует компонент JS,  то модуль работает как надо, если нет компонента, не работает. Причем модуль бестселлеры работает нормально.
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
Если закомментировать строки
Код
//$productlist = JSFactory::getModel('productList', 'jshop');
//$productlist->setModel($product);
//$productlist->load();
то все вроде ок, модуль появляется, товары отображаются. Но на сколько это решение верное и за что отвечают эти строки? Не наврежу ли я такими действиями?

Если нигде в плагинах вот этот триггер не используется - не навредите (он ниже по коду).

Код
$dispatcher->trigger('onBeforeDisplayProductListView', array(&$view, &$productlist));

Но его лучше тогда либо тоже закомментировать, либо переписать под старую версию так:

Код
$dispatcher->trigger('onBeforeDisplayProductListView', array(&$view));

По сути вопроса - и не должно было работать. Ибо откуда Joomla знает где искать модель компонента, когда последний не подгружен и не указан в классе JSFactory. Можно еще решить вот так (без комментирования), вставит в модуле где-нибудь до:

Код
$productlist = JSFactory::getModel('productList', 'jshop');

следующий код:

Код
JLoader::import('productlist', JPATH_ROOT.'/components/com_jshopping/models');

Тогда модель будет определяться верно на любой странице и весь код будет работать верно.
Ошибка не ваша, конечно, а разработчиков, но чтобы было понятно - разжевал.
Завтра напишу им багрепорт на форум.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
следующий код:
лучше тогда
Код
JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_jshopping/models');
вдруг еще какую модель захочется подключить
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
лучше тогда
Код
JModelLegacy::addIncludePath(JPATH_SITE . '/components/com_jshopping/models');
вдруг еще какую модель захочется подключить

Да, и подключить модели прям в factory.php. Как раз собираюсь им об этом написать. А если только в модуле, как по мне, все же лучше явно подключать модель, чтобы путаницы не было. В целом, вообще не понимаю целесообразности того кода что они добавили. Мало того, что он там явно лишний и создает дополнительную ненужную нагрузку на БД, так еще и ломает плагины написанные под старую версию триггера.

Я бы рекомендовал просто закомментировать код и изменить триггер как было раньше. Или использовать стабильную более старую версию модуля.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так еще и ломает плагины написанные под старую версию триггера
ну раньше 1 параметр передавался, а сейчас 2. в любом случае надо переделывать. и разве передача большего количества параметров в плагин ломает его? по моему больше можно, меньше нельзя.

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

D. Tkachenko

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

Надеюсь, вскоре поправят.
https://www.joomshopping.com/forum/posts/12/13776.html?lang=ru
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
ну раньше 1 параметр передавался, а сейчас 2. в любом случае надо переделывать. и разве передача большего количества параметров в плагин ломает его? по моему больше можно, меньше нельзя.
если есть плагины, которые требуют 2 параметра, это точно так же выкинет исключение. тогда плагины надо переделывать, делать в методе второй параметр необязательным. но тоже вопрос - а если плагину нужна модель, он с ней работает?

Вы правы, если передать больше параметров - исключения ошибки не будет. Или забыл или не знал. Я считаю так лучше не делать. С точки зрения стандарта - неправильно вызывать метод передавая ему больше параметров чем у него. Работает, наверное, потому что используется свой механизм распаковки массива в CMS.

А передавать меньше параметров вполне можно и соответствует стандарту. Достаточно в плагине объявить параметры по умолчанию. Например:

function onBefore...($product, $limit=12)

По поводу модели, если триггер срабатывает с компонента где эта модель подключена, то вызов getModel отработает в плагине корректно. А если триггер одного компонента, а в плагине getModel другого компонента, то без JLoader::import не обойтись, иначе будет также как с модулем по теме.

P.S. Ну, да, вы же за необязательный аргумент и написали. Прочитал невнимательно, неправильно понял.
« Последнее редактирование: 23.06.2019, 14:22:26 от D. Tkachenko »
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
Вы правы, если передать больше параметров - исключения ошибки не будет. Или забыл или не знал. Я считаю так лучше не делать. С точки зрения стандарта - неправильно вызывать метод передавая ему больше параметров чем у него. Работает, наверное, потому что используется свой механизм распаковки массива в CMS.

Все-таки забыл. Это не фича CMS, а стандартный функционал PHP. В старых версиях php даже использовали func_get_args (и сейчас проверил, работает) для получения переменного кол-ва аргументов. Но всё равно, отчасти как СИшник так делать сейчас не советую, плохая практика. Лучше тогда использовать function main(...$array) при передаче переменного количества аргументов. Ко всему PHP идет по пути строгой типизации, вполне вероятно, что могут объявить подобное использование устаревшим.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Лучше тогда использовать function main(...$array) при передаче переменного количества аргументов
вы правы, так и есть, я сейчас все свои плагины перевожу именно на такой способ, чтоб не зависеть от количества параметров. но только следует помнить, что это работает только в php5.6+
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

D. Tkachenko

  • Захожу иногда
  • 69
  • 15 / 0
вы правы, так и есть, я сейчас все свои плагины перевожу именно на такой способ, чтоб не зависеть от количества параметров. но только следует помнить, что это работает только в php5.6+

Хорошее замечание. Правда, сегодня запускать проекты в продакшн на более низкой версии по меньшей мере странно. А старый код, да, нужно переводить уже сейчас, иначе если затянуть, потом будет проще с нуля переписать, чем с таким легаси морочить голову.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 3
Просмотров: 6545
Последний ответ 01.07.2026, 14:45:12
от sergeytolkachyov
[JoomShopping 5] вывод товаров из дочерних категорий

Автор v42bis

Ответов: 16
Просмотров: 7153
Последний ответ 13.05.2026, 17:26:17
от sergeytolkachyov
Умный поиск + артикулы товаров

Автор Mick_20

Ответов: 2
Просмотров: 2931
Последний ответ 29.04.2026, 09:14:13
от nevigen
WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 26
Просмотров: 41296
Последний ответ 14.10.2025, 12:54:56
от sergeytolkachyov
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 5184
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov