Новости 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 Ответов
  • 2252 Просмотров
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Привет всем.Нужно решения, если оно есть конечно, что бы компонент обрабатывал код, если юзер зарегистрирован.А то так он работает только если захожу на страницу компоненте, когда создаю меню на компонент.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Код: php
if (JFactory::getUser()->id) {
//тут всё, что доступно зарегистрированным
}
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Еще разок.
Теперь понятнее только.
Да у меня есть такая проблема))Напишу и сам не понимаю о чем.
В общем делаю вишлист для VirtueMart.Аякс работает через контролер и при клике на кнопку добавляю в БД, если зарегистрирован, а вот когда когда не зарегистрирован то в сесию, и проверка если регистрирован добавить в БД.Так вот в бд добавляет при клике и тогда когда захожу на саму страницу вишлист.А мне надо что если я на любой другой старнице зарегистрировался, то в бд из сесии добавить.И в идеале только 1 раз, а не что бы всегда срабатывал запрос на разных страницах.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Добавляйте одновременно с записью в БД и в сессию запись. Потом на других страницах проверяйте, перед обращением к БД.
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Добавляйте одновременно с записью в БД и в сессию запись. Потом на других страницах проверяйте, перед обращением к БД.
Та в базу записывать сразу, если не зарегистрирован не вариант.Потом еще дополнительно проверять и удалять.А где в компоненте и как правильно запись сделать что бы он короче на всех страницах работал?
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Теперь опять ничего не понятно %)
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Теперь опять ничего не понятно %)
)))Да я не знаю теперь как правильно объяснить)
Короче у меня есть сесия с айдихами.И мне надо, когда юзер логинеться, то эта сесия записывалась в БД.
Сейчас у меня запись иде, только тогда коглда перехожу по ссылке на компонент.А хотелось бы, что бы при регистрации.И в идеале один раз, что бы этот запрос потом после перезагрузок не срабатывал.
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Привет.В общем я сделал все то что хотел кроме того момента что спрашивал здесь. Решил просто закончить, а потом по неясностям обращаться к вам.
Попробую еще раз объяснить. Компонент вишлист. Я добавляю продукты в сесию и вывожу в самом компоненте.Если юзер залогинился и зашел в компонент вишлиста, то продукты добавлються в БД. Как бы все хорошо.Но вот суть вопроса в том, как добавить в БД, если залогинился и не зашел в компонент?Пока что все как и работает, но вот с этим моментом не могу разобраться(((Чувак может залогиниться сделать покупку, но так и не зайти в компонент вишлиста, и продукты не попадут в БД.Помогите пожалуйстаз
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Вот еще наткнулся на такую проблему.Добавил товар, зарегистрировался и делаю запрос в БД пусто.Проверяю в БД есть товар.Обновляю страницу уже есть в БД товар.Хотя когда я залогинелся, то страница тоже перегрузилась, но в БД ниче не было.
вот код
Код
<?php 
$user =& JFactory::getUser();
if ($user->guest) { ?>
<a class="add_wishlist hasTooltip<?php if (in_array($product->virtuemart_product_id, $_SESSION['id'])) { echo 'go_to_whishlist active'; }?>" title="<?php echo JText::_('ADD_TO_WHISHLIST');?>"  onclick="addToWishlists('<?php echo $product->virtuemart_product_id; ?>');"><span></span><?php echo JText::_("ADD_TO_WHISHLIST"); ?></a>
<?php }else {
$db =& JFactory::getDBO();
   $q ="SELECT virtuemart_product_id FROM #__wishlists WHERE userid =".$user->id;
$db->setQuery($q);
$allproducts = $db->loadAssocList();
foreach($allproducts as $productbd){
$allprod['id'][] = $productbd['virtuemart_product_id'];
}
var_dump($allproducts);
?>
<a class="add_wishlist hasTooltip<?php if (in_array($product->virtuemart_product_id, $allprod['ids'])) { echo 'go_to_whishlist active'; }?>" title="<?php echo JText::_('ADD_TO_WHISHLIST');?>"  onclick="addToWishlists('<?php echo $product->virtuemart_product_id; ?>');"><span></span><?php echo JText::_("ADD_TO_WHISHLIST"); ?></a>

<?php } ?>


А вот код плагина кторый проверяет есть ли значения в сесии и запись делает.
Код
class plgSystemWishlists extends JPlugin
{
/**
* Class Constructor
* @param object $subject
* @param array $config
*/
public function __construct( & $subject, $config )
{
parent::__construct( $subject, $config );

}
function onBeforeRender() {
$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$user =& JFactory::getUser();
if (!($app->isAdmin())){
if (!$user->guest) {
if (isset($_SESSION['id'])) {
$dbIds = $_SESSION['id'];
$db =& JFactory::getDBO();
$q ="SELECT virtuemart_product_id FROM #__wishlists WHERE userid =".$user->id;
$db->setQuery($q);
$allproducts = $db->loadAssocList();
foreach($allproducts as $productbd){
$allprod['ids'][] = $productbd['virtuemart_product_id'];
}
//var_dump ($allproducts);
//print_r($productbd['virtuemart_product_id']);
for($r=0; $r<count($dbIds); $r++) {
if(!in_array($dbIds[$r],$allprod['ids'])) {
   $q = "";
$q = "INSERT INTO `#__wishlists`
(virtuemart_product_id,userid )
VALUES
('".$dbIds[$r]."','".$user->id."') ";
//var_dump ($dbIds[$r]);
$db->setQuery($q);
$db->queryBatch();
   }
   }
unset($_SESSION['id']);
   }
   }
}

}


}  ?>
Я проверяю, после того как залогинился в БД значения появились.Но вот код, проверка кнопки выще, не работает после первой перезагрузки, надо еще раз обновить страницу.Помогите, подскажите куда дальщ рыть.Или я что не так делаю?Я думал что плагин первый отработал событие, но как оказалось одновременно с компонентом что ли.Есть идеи??Спасибо
« Последнее редактирование: 12.12.2013, 00:53:41 от olejenya »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Цитировать
Добавил товар, зарегистрировался и делаю запрос в БД пусто.
Кто добавил товар, кто зарегистрировался? Если Вы хотите помощи, то не заставляйте нас ломать себе мозг. Как Вы вообще код пишите, если не можете четко нам пояснить действия?
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Кто добавил товар, кто зарегистрировался? Если Вы хотите помощи, то не заставляйте нас ломать себе мозг. Как Вы вообще код пишите, если не можете четко нам пояснить действия?
Теперь я вас не понимаю.
На сайт заходит юзер.Он или зарегистрирован или нет.Если зарегистрирован он добавляет товар в вишлист и запись делаеться в БД.Если не зарегистрирован, то записиваю в сесию.
Код выше - это плагин который делает проверку и кнопка добавления в вишлист, где я тоже делаю проверку, что бы сделать кнопку активной, если есть запись в БД.
Что именно не ясно?Или какой то код надо еще написать, что бы было яснее?Я не понимаю пока что,  тоже в чем не ясность.
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Вам нужно сделать плагин, который будет отрабатывать при логине пользователя (onUserLogin). И в нем реализовывать проверку если есть запись в сессии, то писать в БД.

*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Вам нужно сделать плагин, который будет отрабатывать при логине пользователя (onUserLogin). И в нем реализовывать проверку если есть запись в сессии, то писать в БД.
Спс.Попробую.Но вопрос все таки остается.Действие в плагине будет обрабатываться первым а в компоненте вторым?Или одновременно??Или как в компоненте на кнопки сделать проверку, что бы выполнялось, после того, как сработает плагин?Уже бьюсь больше недели))и много чего читать по Joomla начал, наверное надо было с этого начинать))
*

mohax

  • Давно я тут
  • 901
  • 66 / 3
Спс.Попробую.Но вопрос все таки остается.Действие в плагине будет обрабатываться первым а в компоненте вторым?Или одновременно??Или как в компоненте на кнопки сделать проверку, что бы выполнялось, после того, как сработает плагин?Уже бьюсь больше недели))и много чего читать по Joomla начал, наверное надо было с этого начинать))
Я не совсем понял проблему, но судя по всему, у вас проблема в том, что событие onBeforeRender() в вашем плагине отрабатывает уже после компонента. Почитайте внимательно про события, по которым отрабатывают плагины в Joomla и выбирите себе подходящий.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать модуль на полный экран? Подробнее в в теме?

Автор 62411

Ответов: 3
Просмотров: 4672
Последний ответ 23.02.2022, 20:35:06
от marksetter
Сделать аналог

Автор pegas-k1

Ответов: 8
Просмотров: 3172
Последний ответ 02.02.2021, 13:56:21
от **vadim**
Как сделать рабочим {loadposition} или jdoc:include в com_content?

Автор Amigo9876

Ответов: 5
Просмотров: 3687
Последний ответ 31.07.2020, 16:49:37
от tigra-uki
Ошибка при регистрации

Автор lilian1982

Ответов: 9
Просмотров: 2317
Последний ответ 07.11.2019, 04:59:51
от Cedars
Как закрыть от посещения страницу регистрации Joomla?

Автор Csandr

Ответов: 27
Просмотров: 7879
Последний ответ 01.04.2019, 18:32:18
от ProtectYourSite