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

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Модуль вывода случайных товаров (mod_jshopping_random_products).
Необходимо чтобы модуль выводил только те товары, которые есть в наличии.
Например нужно выводить 10 случайных товаров.

в файле components/com_jshopping/tables/product.php внес изменение (добавил AND prod.product_quantity > 0):
Код
$query = "SELECT $adv_result FROM `#__jshopping_products` AS prod
                INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id
                LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id
                $adv_from
                WHERE prod.product_publish=1 AND cat.category_publish=1 AND prod.product_quantity > 0 ".$adv_query."
                GROUP BY prod.product_id order by ".$orderby."
                LIMIT ".$limitstart.", ".$count;

В результате получается что модуль выбирает необходимое количество случайных товаров (в моем случае это 10) и из этого количества выводит только те, которые есть в наличии. Например если из десяти товаров девять не будет в наличии - модуль выведет только один товар, а необходимо чтобы всегда выводил 10 любых товаров, которые есть в наличии.

Помогите пожалуйста, как правильно настроить выборку.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
получается что модуль выбирает необходимое количество случайных товаров (в моем случае это 10) и из этого количества выводит только те, которые есть в наличии
Этого пока не вижу из приведенного вами кода. После этого кода сделайте
Код
exit($query);
и приведите сюда содержание экрана.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Этого пока не вижу из приведенного вами кода. После этого кода сделайте
Код
exit($query);
и приведите сюда содержание экрана.

Код
SELECT prod.product_id, pr_cat.category_id, prod.`name_ru-RU` as name, prod.`short_description_ru-RU` as short_description, prod.product_ean, prod.manufacturer_code, prod.image, prod.product_price, prod.currency_id, prod.product_tax_id as tax_id, prod.product_old_price, prod.product_weight, prod.average_rating, prod.reviews_count, prod.hits, prod.weight_volume_units, prod.basic_price_unit_id, prod.label_id, prod.product_manufacturer_id, prod.min_price, prod.product_quantity, prod.different_prices, prod.delivery_times_id, prod.`extra_field_1` , prod.`extra_field_2` , prod.`extra_field_3` , prod.`extra_field_24` , prod.`extra_field_25` , prod.`extra_field_26` , prod.`extra_field_34` , prod.`extra_field_4` , prod.`extra_field_31` , prod.`extra_field_5` , prod.`extra_field_33` , prod.`extra_field_32` , prod.`extra_field_23` , prod.`extra_field_7` , prod.`extra_field_11` , prod.`extra_field_27` , prod.`extra_field_28` , prod.`extra_field_29` , prod.`extra_field_30` , prod.`extra_field_35` , prod.`extra_field_37` , prod.`extra_field_36` , prod.`extra_field_42` , prod.`extra_field_43` , prod.`extra_field_44` , prod.`extra_field_45` , prod.`extra_field_48` , prod.`extra_field_50` , prod.`extra_field_51` , prod.`extra_field_52` , prod.`extra_field_49` , prod.`extra_field_57` , prod.`extra_field_54` , prod.`extra_field_55` , prod.`extra_field_56` , prod.`extra_field_58` , prod.`extra_field_59` , prod.`extra_field_6` , prod.`extra_field_14` , prod.`extra_field_20` , prod.`extra_field_21` , prod.`extra_field_22` , prod.`extra_field_38` , prod.`extra_field_39` , prod.`extra_field_40` , prod.`extra_field_8` , prod.`extra_field_9` , prod.`extra_field_41` , prod.`extra_field_65` , prod.`extra_field_61` , prod.`extra_field_60` , prod.`extra_field_64` , prod.`extra_field_63` , prod.`extra_field_62` , prod.`extra_field_12` , prod.`extra_field_13` , prod.`extra_field_10` , prod.`extra_field_18` , prod.`extra_field_19` , prod.`extra_field_15` , prod.`extra_field_16` , prod.`extra_field_17` , prod.vendor_id, IF(prod.product_quantity>0,1,0) as qflag FROM `#__jshopping_products` AS prod INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id WHERE prod.product_publish=1 AND cat.category_publish=1 AND pr_cat.category_id IN (4) AND prod.access IN (1,1,5) AND cat.access IN (1,1,5) GROUP BY prod.product_id order by prod.product_price asc LIMIT 3, 10
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну а вы сами то видите ваше добавленное условие
Код
AND prod.product_quantity > 0
в этой строке запроса, который вы показываете? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
exit($query);
сорри, я выложил то что было по умолчанию.
Вот мой:

SELECT prod.product_id, pr_cat.category_id, prod.`name_ru-RU` as name, prod.`short_description_ru-RU` as short_description, prod.product_ean, prod.manufacturer_code, prod.image, prod.product_price, prod.currency_id, prod.product_tax_id as tax_id, prod.product_old_price, prod.product_weight, prod.average_rating, prod.reviews_count, prod.hits, prod.weight_volume_units, prod.basic_price_unit_id, prod.label_id, prod.product_manufacturer_id, prod.min_price, prod.product_quantity, prod.different_prices, prod.delivery_times_id, prod.`extra_field_1` , prod.`extra_field_2` , prod.`extra_field_3` , prod.`extra_field_24` , prod.`extra_field_25` , prod.`extra_field_26` , prod.`extra_field_34` , prod.`extra_field_4` , prod.`extra_field_31` , prod.`extra_field_5` , prod.`extra_field_33` , prod.`extra_field_32` , prod.`extra_field_23` , prod.`extra_field_7` , prod.`extra_field_11` , prod.`extra_field_27` , prod.`extra_field_28` , prod.`extra_field_29` , prod.`extra_field_30` , prod.`extra_field_35` , prod.`extra_field_37` , prod.`extra_field_36` , prod.`extra_field_42` , prod.`extra_field_43` , prod.`extra_field_44` , prod.`extra_field_45` , prod.`extra_field_48` , prod.`extra_field_50` , prod.`extra_field_51` , prod.`extra_field_52` , prod.`extra_field_49` , prod.`extra_field_57` , prod.`extra_field_54` , prod.`extra_field_55` , prod.`extra_field_56` , prod.`extra_field_58` , prod.`extra_field_59` , prod.`extra_field_6` , prod.`extra_field_14` , prod.`extra_field_20` , prod.`extra_field_21` , prod.`extra_field_22` , prod.`extra_field_38` , prod.`extra_field_39` , prod.`extra_field_40` , prod.`extra_field_8` , prod.`extra_field_9` , prod.`extra_field_41` , prod.`extra_field_65` , prod.`extra_field_61` , prod.`extra_field_60` , prod.`extra_field_64` , prod.`extra_field_63` , prod.`extra_field_62` , prod.`extra_field_12` , prod.`extra_field_13` , prod.`extra_field_10` , prod.`extra_field_18` , prod.`extra_field_19` , prod.`extra_field_15` , prod.`extra_field_16` , prod.`extra_field_17` , prod.vendor_id, IF(prod.product_quantity>0,1,0) as qflag FROM `#__jshopping_products` AS prod INNER JOIN `#__jshopping_products_to_categories` AS pr_cat ON pr_cat.product_id = prod.product_id LEFT JOIN `#__jshopping_categories` AS cat ON pr_cat.category_id = cat.category_id WHERE prod.product_publish=1 AND cat.category_publish=1 AND prod.product_quantity > 0 AND pr_cat.category_id IN (4) AND prod.access IN (1,1,5) AND cat.access IN (1,1,5) GROUP BY prod.product_id order by prod.product_price asc LIMIT 23, 10
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Не знаю, что такое mod_jshopping_random_products, но запрос выводит только товары из категории с ID = 4
Код
AND pr_cat.category_id IN (4)
Вы хотели, чтобы выводились только товары этой кагории? Если нет, то найдите в коде этого модуля вызов функции getRandProducts и поставьте 2-й аргумент = null.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Не знаю, что такое mod_jshopping_random_products, но запрос выводит только товары из категории с ID = 4Вы хотели, чтобы выводились только товары этой кагории? Если нет, то найдите в коде этого модуля вызов функции getRandProducts и поставьте 2-й аргумент = null.

да, нужно чтобы выводились товары из одной категории. И в этой категории достаточное количество товаров, которые есть в наличии...но..ситуация такая, как я описал выше. Бывает даже ситуация, когда вообще не выводит ни одного товара
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Тогда в той же функции, где вы добавили условие, измените
$limitstart = rand(0, $totalrow);
на
$limitstart = rand(0, $totalrow - 10);
Ой, там же есть $count, которая наверняка задается в админке модуля. Найдите эту настройку и поставьте 10.

Опять был не прав :).
Добавьте
Код
AND prod.product_quantity > 0
и в верхний запрос.
« Последнее редактирование: 25.10.2017, 00:39:34 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Тогда в той же функции, где вы добавили условие, измените
$limitstart = rand(0, $totalrow);
на
$limitstart = rand(0, $totalrow - 10);

Ой, там же есть $count, которая наверняка задается в админке модуля. Найдите эту настройку и поставьте 10.

там сейчас так:
Код
        $db->setQuery($query);
        $totalrow = $db->loadResult();
        $totalrow = $totalrow - $count;
        if ($totalrow < 0) $totalrow = 0;
        $limitstart = rand(0, $totalrow);

$count, я так понимаю, это необходимое количество отображаемого товара
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Обновил предыдущий пост.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Обновил предыдущий пост.
если я вас правильно понимаю, вы предлагаете в настройках модуля в админке установить необходимое количество выводимых товаров, например 10.
Но у меня там установлено необходимое количество. Но дело в том что даже если у меня в одной категории 1000 товаров и например 10 товаров нет в наличии, то бывает ситуация когда в выборку попадают именно эти 10 товаров, которых нет в наличии..и соответственно модуль ничего не выводит
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Добавьте
Код
AND prod.product_quantity > 0
и в верхний запрос.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

v-v

  • Захожу иногда
  • 98
  • 3 / 0
Добавьте
Код
AND prod.product_quantity > 0
и в верхний запрос.

Работает! Большое спасибо за помощь!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а какой модуль случайных товаров используется? этот https://nevigen.com/ru/modules/modul-sluchajnykh-tovarov-joomshopping.html?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Картинки товаров в результате поиска в JoomShopping + RokAjaxSearch

Автор MrJenika

Ответов: 93
Просмотров: 32139
Последний ответ 12.12.2025, 11:39:46
от SolopoV
JS Product Snapshot - плагин вывода товаров JoomShopping в контенте Joomla

Автор Arkadiy

Ответов: 110
Просмотров: 38752
Последний ответ 21.12.2023, 09:28:06
от sergeytolkachyov
Фильтр товаров крашит сайт

Автор psiworm

Ответов: 4
Просмотров: 3359
Последний ответ 04.11.2023, 12:31:07
от nevigen
Re: Модуль AJAX корзины (Multi)

Автор Садко

Ответов: 97
Просмотров: 24347
Последний ответ 08.10.2023, 07:49:27
от kit2m2
Модуль красивого выбора валюты

Автор beagler

Ответов: 8
Просмотров: 6478
Последний ответ 12.03.2023, 01:42:31
от ecolora