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

Пример из статьи на этом сайте.

Если вам необходимо отобразить некоторый модуль на сайте только на главной странице сайта, и не показывать на остальных (в том числе и дочерних) страницах, можно воспользоваться решением с использованием шаблонов Joomla. Вставляем в шаблон позицию модуля с проверкой текущего компонента:

 
<?php
  if (($option == '') || ($option == 'com_frontpage')) {
    mosLoadModules ( 'user1' );
  }
?>

Вопрос: А можно сделать что-то с pathway? Чтобы если главная стр. - скрыт, остальные - виден.
Просто обычно пункт меню Главная  на главной стр ни к чему.
Спасибо.
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
2 era: наоборот,
...если главная стр. - скрыт, остальные - виден.


<?php
  
if ( isset($option) && (@$option != 'com_frontpage')) {
    
mosPathWay();
  }
?>



;)
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Скажите, а как заставить функцию
Код
<?php
  if (!$my->id) {
    mosLoadModules ( 'user1' );
  } else {
    mosLoadModules ( 'user2' );
  }
?>

 работать в выпадающем окне формы отправки статьи на email?
Спасибо
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Странно, но в этой форме почти никакие глобальные параметры не работают - почему так?
Загружается только <?php echo $row->title;?> а вот вывести автора материала таким способом уже не получается.

Вопрос интересен тем, что появится возможность автоматической подгрузки информации в поля.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Возможно, Вы забыли объявить переменную глобально.

Напишите global $имя_переменной;

Должно заработать.
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Я так понял, эти переменные указываются в данном случае в файле content.php.
Прописал - но ничего не работает. Точнее информация начинает выводится везде, где захочу, а вот в pop-ap емейла - нивкакую.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Я так понял, эти переменные указываются в данном случае в файле content.php.
Прописал - но ничего не работает. Точнее информация начинает выводится везде, где захочу, а вот в pop-ap емейла - нивкакую.

Вы вставляете куда-то в функцию, да? После объявления функции это надо писать. Обычно, там уже что-то есть. Просто допишите свои глобальные переменные, которых там нет.

Типа такого что-то:

Код

<?php

function qwerty ($par1, $par2, $par3) {
global $Itemid;

// Ну а тут куча кода самой функции, которую Вы ковыряете.
}

*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Функция вывода данных в файле content.html.php начинается так:
Код
	function emailForm( $uid, $title, $template='', $itemid ) {
global $mainframe;

Сами переменные формируются в файле content.php, а именно начиная со строки:

Код
HTML_content::emailForm( $row->id, $row->title ...

Вот, дописал туда - все получилось.

Теперь вопросик:
Как подгрузить еще и переменные имя/email пользователя (которой по вероятности, авторизирован на сайте), чтоб вставить их в форму автоматом и сделать высший сервис?
Ребята, давайте модифицируем до конца!! :D

Мне нужно только знать, как вытянуть инфу пользователя с БД - через переменную $my?
Помогите сформировать этот запрос!
« Последнее редактирование: 26.07.2008, 03:47:01 от mijsvit »
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
   function emailForm( $uid, $title, $template='', $itemid ) {
      global $mainframe;


Меняем на:

   function emailForm( $uid, $title, $template='', $itemid ) {
      global $mainframe, $my;


И работаем с $my как обычно. Кстати, для предыдущего случая, так именно и надо было поступить.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Привожу пример, на всякий случай:

Код

<?php

$my->id // id
$my->email // email
$my->username // Логин
$my->name // Имя
$my->usertype // Группа

?>


Т.е. echo $my->email выведет мыло юзера. Не забывайте объявлять объект как глобальный, как я описал выше.
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Большущее спасибо, Священный котэ!!
С меня сундук плюсов! :)
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Скажите пожалуйста, как отобразить позицию только при просмотре конкретного раздела (по ID) в режиме полного текста?

Можна реализовать такое даными методами в принципи?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Скажите пожалуйста, как отобразить позицию только при просмотре конкретного раздела (по ID) в режиме полного текста?

Можна реализовать такое даными методами в принципи?
в принципе - можно, сначала делается фильтр на то, что мы находимся в режиме просмотра материала (на основании значения переменной $task), затем из переменных запроса получаем идентификатор материала, и по этому идентификатору дергаем из базы информацию о категории этого материала. И если нас она устраивает - вставляем позицию модуля.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
К сожалению, не знаю как ограничить по разделу, бо он не передается в URL при просмотре статьи (фактически же нужно только id статьи, чтобы её вывести). Можно конечно дать ещё один запрос к базе данных, но хочется способ по изящнее. Я ещё подумаю.

Код ниже выведет модули в позиции user1 если мы находимся в режиме просмотра полного текста материала с id = 10.

Код: php
     $task = mosGetParam($_REQUEST, 'task', 'default'); // получаем значение task  в GET или если не найдено в POST
     $option =  mosGetParam($_REQUEST, 'option', 'default'); // получаем значение option  в GET или если не найдено в POST
     $id =  mosGetParam($_REQUEST, 'id', 'default'); // получаем значение id  в GET или если не найдено в POST

     if ( $task == 'view' && $option == 'com_content' && $id == 10 ) { mosLoadModules('user1', -2); }
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Спасибо за помощь, Смарт!
VETERINAR, я сделал вот так:
Код
<?php
if (($option == 'com_content') && ($task == 'view')) {
if ($row->sec_id == 'ID категории') {
?>
Текст
<?php
}
}
?>
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
ну, подход верный. Цепляйте по id категорию, по категории раздел и выводите.

Хотя, если честно, честно мне это не нравится. Если нужно вывести что-то в конкретном материале, то, мне кажется, логичнее было бы написать мамбот, который заменяет какой-то тег на нужный Вам текст.

Мне кажется было бы изящнее.

Или даже без мамбота. Убрать нафик из шаблона mosmainbody, цеплять контент из index2.php функцией типа file() и заменять искать там нужный текст и заменять. Даже регулярка не нужна, простейший поиск в строке.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Хм, ну так как ты сделал, работать не будет. Надо примерно так:

Код: php
global $database;

// проверка на режим просмотра материала
if (($option == 'com_content') && ($task == 'view')) {
$id = intval(mosGetParam($_REQUEST, 'id', 0));
// проверка, что передан корректный идентификатор
if ($id) {
$row = new mosContent($database);
// загрузка информации о материале
if ($row->load($id)) {
// проверка идентификатора раздела
if ($row->sectionid == 1) {
// непосредственно вывод позиции
mosLoadModules('user1', -2);
}
}
}
}
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Спасибки, буду пробовать!
Ребята, еще по теме вопрос:
Как вывести материал по Itemid меню?
Пробую
Код
  if (($Itemid == '') || ($Itemid == 'Номер ID')) {}
- нет реакции
« Последнее редактирование: 21.09.2009, 18:28:44 от mijsvit »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Должно работать, просто echo $Itemid; что-нибудь покажет?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

mijsvit

  • Захожу иногда
  • 137
  • 7 / 0
Спасибо - я забыл прописать переменную в $global, теперь все работает
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
А если вопрос на засыпку:

Главная страница является - не com_frontpage, а com_content, и нужно сделать чтобы модуль выводился только на главной, это возможно ?

Т.е. в данном случае, такие параметры не работают:

<?php
  if (($option == '') || ($option == 'com_frontpage')) {
    mosLoadModules ( 'user5' );
  }
?>

А если в этом коде вместо fronpage ставлю content, тогда модуль показывается везде и на главной и на дочерних страницах.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
нужно сделать чтобы модуль выводился только на главной, это возможно ?

Код: php
<?php

$mainpage = FALSE;

if ( $_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php' ) $mainpage = TRUE;

if ( $mainpage ) mosLoadModules ( 'user5' );

?>
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
спасибо!
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
VETERINAR, а у меня снова проблема появилась, как сделать чтобы модуль не показывался только на главной, а на других страницах (везде) показывался. Главная страница не 'com_frontpage, а com_content ?
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
как сделать чтобы модуль не показывался только на главной

Код: php
<?php
 
$mainpage = FALSE;
 
if ( !$_SERVER['REQUEST_URI'] == '/' || $_SERVER['REQUEST_URI'] == '/index.php' ) $mainpage = TRUE;
 
if ( $mainpage ) mosLoadModules ( 'user5' );
 
?>
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
это код тот же самый,а что нужно в нем поменять, чтобы модуль показывался везде кроме главной ?
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
это код тот же самый

Нет, он не тот же самый, посмотрите внимательнее. Это как "найди одно отличие" :)

Ладно, не буду мучать. Там восклицательный знак в скобках добавлен, посмотрите.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Если жизнь после неправильной уставки модулей Php5 ( установил на виртуальный) И что делать дальше?

Автор Drunk_Monkey

Ответов: 1
Просмотров: 8602
Последний ответ 08.11.2011, 20:57:42
от mohax
Создание дополнительных позиций модулей

Автор DRifat

Ответов: 6
Просмотров: 4499
Последний ответ 23.06.2009, 21:25:44
от DRifat
Добавить позиции модулей

Автор legazzz

Ответов: 10
Просмотров: 16597
Последний ответ 12.07.2008, 23:52:40
от Sedoy