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

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Есть материал в который каждый день приписывается небольшой новый кусок текста и нужно чтобы этот текст выводился в модуле.

Как реализовать данную функцию ? подскажите пожалуйста


Я так понимаю что между этими кусками нужно делать какой то разрыв, и нужен модуль который отображал бы именно последний добавленный кусок в модуле.

Схематично изобразил:


« Последнее редактирование: 15.06.2013, 13:23:28 от timssky »
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Интересная задача, однако. Лично я не могу вспомнить модуля, который из коробки умел делать то, что вам надо. Но его не очень сложно сделать. Я могу предложить два варианта:
1) Если вы хоть немного знаете PHP, то я могу вам кратко описать один из способов реализации этого. Если будут вопросы, то постараюсь на них ответить.
2) Если вы не знаете PHP, то я, как будет свободное время (а оно будет через пару дней), постараюсь вам помочь с написанием этого модуля.
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Прошу прощения, что долго. Модуль в приложении, настройки простые. Если что-то непонятно, пишите.
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Отличный модуль  ;D

СПАСИБО ТЕБЕ ОГРОМНЕЙШЕЕ  Pyrk1 +


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

Код
<table style="width: 378px; height: 65px;">
<tbody>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>

(что можно  сюда вставить, чтобы оно являлось разделителем, но при этом чтобы между таблицами не было абзаца  (и сам разделитель чтобы не отображался в статье)?

<table style="width: 378px; height: 65px;">
<tbody>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Хм, нашел такую особенность, что символы <> нельзя просто так использовать в параметре модуля, по этой причине его слегка доработал, файл в приложении.
В качестве разделителя я бы предложил вам использовать такой код:
Код
<div style="display: none;"> </div>
Вам, при редактировании статьи, необходимо открыть статью в виде кода и вставить этот блок между таблицами. Это неотображаемый блок. Если что-то не получится, то пишите.
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Что то не работает
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Как именно не работает?
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Вставляю код между таблицами, указываю id статьи, а в модуле отображается набор цифр: 43535342423
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Прошу прощения, цифры показались из-за того, что я не убрал их в конечной версии. В приложении висит версия без них.
По поводу вывода таблиц: я только что проверил у себя, все работает. На всякий случай привожу пример HTML кода данного материала, его надо вставить в редактор HTML кода при изменении материала.
Спойлер
[свернуть]
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Создал материал, вставил указанный выше код в материал (отключив визуальный редактор), сохранил,   
Старый модуль удалил, установил новый (во вложении который),  указал id, статьи, указал позицию модуля и отображение на всех страницах, опубликовал, но модуль отображается пустой, только заголовок. 
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Занятно, однако. У меня на тестовом сайте все очень хорошо обрезается. Не могли бы вы дать ссылку на ваш?
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Я 2 сайта на денвере сейчас делаю, на обоих прбывал не работает, есть один не доработанный  сайт туда установил тоже не работает, вот ссылка:
http://www.vizo45.ru/index.php/fotograf.html (модуль внизу страницы)
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Кстати, вы не разделяете текст материала на вступительную и основную часть?
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Не зная PHP, сам случайно нашел ошибку, убрал и все заработало

Код
<?php
  
defined('_JEXEC') or die;

$separator = '<div style="display: none;">В </div>';  (зачем здесь  В ?)

$db =& JFactory::getDBO();
$id = $params->get("article_id");
$q="SELECT introtext FROM #__content WHERE `id` = $id";
$db->setQuery($q);
$article_text = $db->loadResult();
$article_text = substr ($article_text, 0 , strpos ( $article_text , $separator ) );

echo $article_text;
?>
« Последнее редактирование: 22.06.2013, 21:58:15 от timssky »
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Еще бы сделать чтобы ниже выводимого фрагмента была ссылка на полную статью (кнопка подробнее)

В общем  как то нужно вставить вот этот HTML код:

<p style="text-align: center;"><a href="ссылка на полную статью, (по указанному в модуле ID)"><img onmouseover="this.src='images/Knopki/podrobnee_2';" onmouseout="this.src='images/Knopki/podrobnee_1'';" src="images/Knopki/podrobnee_1'" /></a></p>
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Хм, каким-то образом этот символ попал в разделитель, но хорошо, что вы его нашли.
Для того, чтобы вставить ссылку, добавьте в код строку в нужном вам месте.
Код
echo "<p style=\"text-align: center;\"><a href =\"index.php?option=com_content&view=article&id=$id\"><img onmouseover=\"this.src='images/Knopki/podrobnee_2';\" onmouseout=\"this.src='images/Knopki/podrobnee_1'';\" src=\"images/Knopki/podrobnee_1'\" /></a></p>";
Символы \ нужны для экранирования кавычек, так как при отсутствии экранирования первая кавычка будет принята за окончание строки.
Например, код модуля может выглядеть вот так:
Спойлер
[свернуть]
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
1)  Ссылка появилась и работает нормально,  но исчез сам фрагмент материала
2)  Не работает анимация при наведении.  В вышеуказанном коде не был указан формат картинок png, я указал его но изображение кнопки появляется только при наведении и не исчезает, а если не навел отображается крестик (как будто ссылка ломаная на картинку) проверил все на 10 раз вроде все нормально.

Спойлер
[свернуть]

Что то тут еще нужно исправить ?
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Прошу прощения за долгий ответ. Лично у меня на тестовом сайте все хорошо работает, после того, как я убрал лишние кавычки в ссылке, вот сам сайт: http://galrik.tk/main/
А вот код модуля, который стоит у меня:
Код
<?php
 
defined('_JEXEC') or die;

$separator = '<div style="display: none;"> </div>';

$db =& JFactory::getDBO();
$id = $params->get("article_id");
$q="SELECT introtext FROM #__content WHERE `id` = $id";
$db->setQuery($q);
$article_text = $db->loadResult();
$article_text = substr ($article_text, 0 , strpos ( $article_text , $separator ) );

echo $article_text;

echo "<p style=\"text-align: center;\"><a href =\"index.php?option=com_content&view=article&id=$id\"><img onmouseover=\"this.src='http://galrik.tk/main/images/joomla_black.gif';\" onmouseout=\"this.src='http://upload.wikimedia.org/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png';\" src=\"http://upload.wikimedia.org/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png\" /></a></p>";
?>
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Все работает, спасибо

У меня выше самой таблицы есть описание и нужно, как то сделать, чтобы оно не выводилась в модуле, как это сделать ?

(Я так понимаю, что нужно в php прописать, что с определённого до определенного кода материал не должен выводится в модуле,  а в материале,  в HTML коде, перед и после описания нужно вставить ограничители.)

*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Я бы сделал несколько иначе. Вы помещаете между кодом текста, содержащего описание и самим кодом таблицы данный фрагмент:
Код
<div id="start" style="display: none;"> </div>
При выводе поиск и вывод материала будет идти после этого стартового блока и до разделителя.

Код модуля:
Код
<?php
 
defined('_JEXEC') or die;
$start = '<div id="start" style="display: none;"> </div>';
$separator = '<div style="display: none;"> </div>';

$db =& JFactory::getDBO();
$id = $params->get("article_id");
$q="SELECT introtext FROM #__content WHERE `id` = $id";
$db->setQuery($q);
$article_text = $db->loadResult();
$article_text = substr_replace($article_text, '', 0, strpos ( $article_text , $start ) + 47 );
$article_text = substr ($article_text, 0 , strpos ( $article_text , $separator ) );
echo $article_text;

echo "<p style=\"text-align: center;\"><a href =\"index.php?option=com_content&view=article&id=$id\"><img onmouseover=\"this.src='http://galrik.tk/main/images/joomla_black.gif';\" onmouseout=\"this.src='http://upload.wikimedia.org/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png';\" src=\"http://upload.wikimedia.org/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png\" /></a></p>";
?>

Демонстрационный код страницы:
Спойлер
[свернуть]
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Редактор JCE вставляет вот эту фигню: &nbsp и ломает код  не подскажешь где отключить ?
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Если я не ошибаюсь, то вам поможет эта тема: http://joomlaforum.ru/index.php?topic=154220.0
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Если я вставляю вышеуказанный демонстрационный код страницы в материал с отключенным визуальным редактором, то все работает прекрасно и материал отображается в модуле.  Если я открываю данный материал в любом визуальном редакторе и после чего сохраняю,  материал перестает отображается в модуле.

При этом HTML код остается не неизменным, т.е. если я его опять копирую и вставлю с отключенным редактором и сохраню то все нормально работает.

Мистика какая та блин
« Последнее редактирование: 26.06.2013, 21:02:42 от timssky »
*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Хм, а если использовать не пустые блоки, а поместить туда, например, единичку?
Будет как-то так:
Код
<?php
 
defined('_JEXEC') or die;
$start = '<div id="start" style="display: none;">1</div>';
$separator = '<div style="display: none;">1</div>';

$db =& JFactory::getDBO();
$id = $params->get("article_id");
$q="SELECT introtext FROM #__content WHERE `id` = $id";
$db->setQuery($q);
$article_text = $db->loadResult();
$article_text = substr_replace($article_text, '', 0, strpos ( $article_text , $start ) + 47 );
$article_text = substr ($article_text, 0 , strpos ( $article_text , $separator ) );
echo $article_text;

echo "<p style=\"text-align: center;\"><a href =\"index.php?option=com_content&view=article&id=$id\"><img onmouseover=\"this.src='http://galrik.tk/main/images/joomla_black.gif';\" onmouseout=\"this.src='http://upload.wikimedia.org/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png';\" src=\"http://upload.wikimedia.org/wikipedia/commons/f/f6/Wikipedia-logo-v2-ru.png\" /></a></p>";
?>

Соответственно, надо так же изменить код материала.
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Теперь все отлично работает

Не подскажешь как убрать слово материалы в заголовке ? ,  может как то ссылку можно по другому в php прописать ?

*

Pyrk1

  • Захожу иногда
  • 150
  • 10 / 0
Вы имеете ввиду, убрать заголовок на странице с самим материалом?
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Да нет заголовок материала нормально отображается,  выше самого заголовка вылазит слово Материалы,  и ссылка на материал выглядит так:  mysite/index.php?option=com_content&view=article&id=231,  хотя если заходить через меню то так:  mysite/index.php/тестовый-материал  и слово материалы не вылазит
Вот я и говорю нельзя ли, что то изменить в php, чтобы материал выводился как будто из меню

И еще Я просил, чтобы описание не выводилось в модуле, все работает, но задумка оказалось не очень хорошая, так как при добавлении нового фрагмента, ткнув не много не туда,  постоянно появляются абзацы и текст скачет поэтому решил, заменить описание модулем.  Нужно чтобы в модуле не отображался другой модуль, вот код его вставки: {loadposition user100},   а  своиство отвечающее за <div id="start" style="display: none;">1</div> убрать из php
« Последнее редактирование: 27.06.2013, 20:30:23 от timssky »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код: php-brief
<?php
if(!class_exists('ContentModelArticle')) require_once JPATH_ROOT.'/components/com_content/models/article.php';
$article = new ContentModelArticle;
//получаем документ с id=10
$youArticle = $article->getItem(10);
echo $youArticle->introtext;
$url = ContentHelperRoute::getArticleRoute($youArticle->id, $youArticle->catid, JFactory::getDocument()->language);
?>
Код: html4strict
<a href="<?php echo JRoute::_($url);?>" title="<?php echo $youArticle->title;?>">Подробнее</a>
И вы совсем забыли про такую функцию как split или explode
*

timssky

  • Захожу иногда
  • 330
  • 0 / 0
Fedor Vlasenko   А что и куда вставлять ?  ;D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Блокировка материала! Что оно такое?

Автор Chebyrek

Ответов: 17
Просмотров: 18429
Последний ответ 30.06.2020, 16:33:09
от 1AZ1
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 3572
Последний ответ 14.12.2019, 20:19:21
от Gromz
Что за баг с датой обновления материала - Обновлено 30.11.-0001 08:47?

Автор Maxum

Ответов: 7
Просмотров: 4728
Последний ответ 22.01.2019, 23:46:01
от artbavial
Как сбросить счётчик колличества просмотров материала?

Автор Neptun

Ответов: 7
Просмотров: 5019
Последний ответ 18.06.2018, 16:13:17
от tuztref
10 звезд рейтинга материала

Автор Vlasnov

Ответов: 0
Просмотров: 1592
Последний ответ 18.06.2018, 11:35:21
от Vlasnov