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

Здрасти.
Есть задание - создать сайт, на котором будут хоститься магазины, которым лень делать свои сайты. Каждый продавец должен иметь возможность редактировать свой магазин отдельно от других. Инфу о магазине, о товара, о доставке и оплате. Подскажите, как это лучше реализовать... Спасибо заранее.
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Поддержка нескольких магазинов
« Ответ #1 : 31.08.2006, 19:41:48 »
Это рроект с неху*гав*вым бюджетом. Так мне думается.
*

4853

  • Захожу иногда
  • 170
  • 20 / 11
Re: Поддержка нескольких магазинов
« Ответ #2 : 31.08.2006, 20:15:38 »
Это рроект с неху*гав*вым бюджетом. Так мне думается.
А если на субдоменах?
Получится?

Re: Поддержка нескольких магазинов
« Ответ #3 : 31.08.2006, 21:44:00 »
Ну бюджет я не видел, но проект неслабый.
А если поставить кучу ВиртуМартов, как разные компоненты(com_market1, com_market2, com_market3  и т.д.) и с разными таблицами, это сильно жопно для базы будет?
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Поддержка нескольких магазинов
« Ответ #4 : 31.08.2006, 23:33:50 »
На субдоменах ИМХО лучший вариант.
Но блин продумывать всё нужно серьёзно, а не тут на форуме =)
Нужна команда нормальных кодеров. Базы я бы пользовал раздельные, может быть даже на разных хостах.
Но при текущем положении дел (динамика развития и жумлы и VM) я бы не стал делать такой проект на Joomla + VM, очень много геммороя.

Re: Поддержка нескольких магазинов
« Ответ #5 : 01.09.2006, 10:31:07 »
А не чем?
Геммороя и правда много, программитс один(я=( ), че делать, не знаю.

Re: Поддержка нескольких магазинов
« Ответ #6 : 04.09.2006, 09:23:07 »
В 1.0.6 ведь сделали поддержку multiple vendors - оно то мне и надо, только криво сделано. Никто не разбирался, не смотрел? Если вдруг у кого есть советы, где чего переписать, то буду рад. У меня как-то раз-через раз работает. Точнее либо нормально работает, либо нет header'а и кнопочек "Сохранить", "Новый" и т.д.

Re: Поддержка нескольких магазинов
« Ответ #7 : 01.11.2006, 11:31:00 »
Теперь этот "проект" пал на меня :-)

Tug, в принципе не все так плохо как казалось - все еще хуже.

Да, не было проведено грамотное планирование....
да вообще работы очень мало было сделано :(

Но придется продолжать:
Самый главный вопрос: зачем в VM есть функция "Список продавцов", если она совершенно не работает?

А поводу нескольких магазинов, проблему можно решить двумя путями:
1. можно для каждого нового магазина создавать отдельную структуру БД _shopXX_product

2. или оставить все в одной базе и фильтровать товары в одной таблице при помощи поля vendor

Вот собственно хочу посоветоваться со знатоками!
*

tug

  • Захожу иногда
  • 333
  • 40 / 4
Re: Поддержка нескольких магазинов
« Ответ #8 : 02.11.2006, 20:42:30 »
Ответ на самый главный вопрос: Она отлично работает.

Re: Поддержка нескольких магазинов
« Ответ #9 : 14.11.2006, 17:41:07 »
:-)

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

У меня все равно выбора нет: нужно было сделать это хак еще на той неделе...

Поделюсь тем, что уже сделано:

1.  ps_cart.php
в класс ps_cart все равно
$cart['shopid'] = 0;
$_SESSION['cart'][$k]["shopid"]=intval($d["vendor_id"]);

Итак, у меня все равно выбора нет: нужно было сделать это хак еще на той неделе...

Поделюсь тем, что уже сделано:

1. ps_cart.php
в класс ps_cart все равно $cart['shopid'] = 0; придется добавлять переменную для отслеживания вендора

    И собственно потом при добавлении товара в корзину
    $_SESSION['cart'][$k]["shopid"]=intval($d["vendor_id"]);

    Перед этим нужно найти запрос, который обращается к VM_product и формирует массив $d, и дописать в этот запрос поле vendor_id (в базе оно уже есть, и при добавлении товара впринице этот vendor_id записывается правильно)

2. shop.browse.php
Мне не просто было осознать, что скрипт не лезет в базу за информацией о товаре, при нажатии на кнопку "добавить в корзину".
Он берет эту информацию из спратанных полей.
Поэтому нужно добавить
Код
<input type=\"hidden\" name=\"vendor_id\" value=\"".$db_browse->f('vendor_id')."\" />\n
в shop.browse.php в районе 396 строки

И естественно нужно найти запрос (фаил shop_browse_queries.php), который формирует этот массив f() и дописать в этот запрос поле vendor_id.

3.  mod_virtuemart.php
Дальше нужно или отдельны модуль сделать или дописать в mod_virtuemart функцию вывода структуры магазинов.

   Я дописал в mod_virtuemart.
   При этом добавил кусочек кода:
Код
if (isset($_GET['category_id']))
{
require_once(CLASSPATH."ps_database.php");
$db = new ps_DB();
$q  = "SELECT vendor_id FROM #__{vm}_category WHERE category_id = ".intval($_GET['category_id']);
$db->query($q);
$db->next_record();
$_SESSION['shopid'] = $db->f("vendor_id");
}
чтобы, когда мы заходим в определенный магази, в меню отображались категории этого магазина.

и соответствуенно в функцию getCategoryTreeArray нужно добавить "фильтрацию" категорий:
Код
if (isset($_SESSION['shopid']))
{
$query .= " vendor_id=".intval($_SESSION['shopid'])." AND ";
}

4. ps_checkout.php
    Столкнулся со странными сложностями в этом классе. А именно.
    Как должен вести себя скрипт при одновременном заказе товаров из разных магазинов?
    Очевидно, список выбранных в корзину товаров должен делиться на группы по единому вендору и обрабатываться эти группы должны как различные orders.

Добавил вот такой кусок:
Код
		$temp_cart=$_SESSION['cart'];

$vendors=array(); // $vendors - массив номеров вендоров
    for ($ii=0;$ii<$temp_cart['idx'];$ii++)
{
$vendors[$ii]=$temp_cart[$ii]['shopid'];
}
$vendors=array_unique($vendors);
$unique_count=count($vendors);

for($jj=0;$jj<$unique_count;$jj++)
{
$cart=array('idx'=>0);
// массив $cart мы разделяем на несколько массивов
// для каждого вендора свой order
    for ($ii=0;$ii<$temp_cart['idx'];$ii++)
{
if ($temp_cart[$ii]['shopid']==$vendors[$jj])
{
array_push($cart,$temp_cart[$ii]);
$cart['idx']++;
}

}

Еще нужно немного подправить функцию get_order_number - чтобы для этих разделенных заказов формировался различный $order_number.

    Поидее товары одного вендора должны формироваться в массив $cart и обрабатываться как отдельные заказы, однако скрипт в таблицу oreders умудряется сохранять все, что было выбрано в корзину, даже несмотря на то, что фактически в $cart попадают разные товары. Не могу понять почему?

Это собственно грабли какие-то.

5. admin.user_list.php
Почему-то отсутствовала связка пользователь-вендор. Нужно подправлять.
 Т.е. пользователю можно было назначить принадлежность к определенному магазину, но при построении <select'а не вывотилось текущее значение поля vendor_id ... почему-то и щаз я не могу найти его...

6. Я думаю, что с оплатой и доставкой потом будет проще. Главное для начала обеспечить минимальную функциональность.
*

esmark

  • Захожу иногда
  • 91
  • 9 / 0
Re: Поддержка нескольких магазинов
« Ответ #10 : 14.01.2007, 04:14:55 »
Свежий модифицированный компонент, обеспечивающий Multiple Vendor Support - Multi-Store Environment
LM, практически все, что ты предлагал к рассмотрению реализовано, кроме модуля.
Осталось разработать multi-vendor payment & shipping methods.
Цитировать
Я думаю, что с оплатой и доставкой потом будет проще. Главное для начала обеспечить минимальную функциональность.
Минимальная функциональность обеспечена, сделай, пожалуйста, коль проще.
« Последнее редактирование: 14.01.2007, 04:18:04 от esmark »
*

SteelBear

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Поддержка нескольких магазинов
« Ответ #11 : 08.02.2007, 18:05:41 »
О круто вы тут разбираетесь :) может подскажете вообще в администраторе как можно категории привязывать к вендорам? а то в базе они привязаны. а как в админке выбрать для категории определенного вендора я ненашел.

и еще может кто подскажет . вот у меня 2 вендора. я точно знаю что больше не будет как мне для одного сайта подправить где чтобы показывало категории только например  второго вендора?
*

esmark

  • Захожу иногда
  • 91
  • 9 / 0
Re: Поддержка нескольких магазинов
« Ответ #12 : 08.02.2007, 19:07:55 »
Цитировать
может подскажете вообще в администраторе как можно категории привязывать к вендорам?
Заходишь в админке в категорию товара, выбираешь продавца/поставщика из выпадающего списка. Если в вашей версии этого нет, установи сначала компонент Multi-vendor Support.
Цитировать
как мне для одного сайта подправить где чтобы показывало категории только например  второго вендора?
Для этого нужно создавать модуль вендоров, аналогичный модулю производителей, чтобы по выбору продавца выводились товары и категории только данного продавца.
*

SteelBear

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Поддержка нескольких магазинов
« Ответ #13 : 09.02.2007, 12:25:01 »
поставил. сделал все как в реадми. вообще перестал открываться virtuemart :)
пришлось вернуть все как было.
да мне ненадо модулей. у меня вообще не торговый сайт , только показывает разные штуки :).
я разобрался как 'задушить'  на одном сайте других вендоров, но только в выводимом меню

------
   function getCategoryTreeArray( $only_published=true, $keyword = "" ) {

      $db = new ps_DB;
      if( empty( $GLOBALS['category_info']['category_tree'])) {

         // Get only published categories
         $query  = "SELECT category_id, category_description, category_name,category_child_id as cid, category_parent_id as pid,list_order, category_publish
                  FROM #__{vm}_category, #__{vm}_category_xref WHERE #__{vm}_category.vendor_id=2 AND";

-------

вот в конце руками вставляю vendor_id=2 и зашибись. только второго выводит.
мне бы найти в каком селекте еще убрать из основного показа которое посередине с картинками категории которые не относятся ко второму вендору и я буду счастлив :)

*

esmark

  • Захожу иногда
  • 91
  • 9 / 0
Re: Поддержка нескольких магазинов
« Ответ #14 : 09.02.2007, 15:05:39 »
Не знаю, у меня нормально стоит. Возможно у тебя версия не VM 1.0.9, для которого предлагалась модификация.
Цитировать
мне бы найти в каком селекте еще убрать из основного показа которое посередине с картинками категории которые не относятся ко второму вендору и я буду счастлив
Замени в файле shop.index.php строки 24, 25
Код
$query  = "SELECT * FROM #__{vm}_category, #__{vm}_category_xref ";
$query .= "WHERE #__{vm}_category.category_publish='Y' AND ";
на
Код
$query  = "SELECT * FROM #__{vm}_category, #__{vm}_category_xref ";
$query .= "WHERE #__{vm}_category.category_publish='Y' AND #__{vm}_category.vendor_id=2 AND ";
Как хорошо, что так мало нужно людям для счастья. ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться