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

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
И так есть у меня joomla 1.5 есть самая свежая версия jcomments
пишу свой компонент со всякими ajax функциями и прочего...
открыл инструкцию

Цитировать
Как показать комментарии для заданного объекта

Для этого необходимо подключить посредством функции include/require основной файл JComments и вызвать статический метод JComments::showComments. Этот метод поддерживает три обязательных параметра: ID объекта, имя компонента, и имя объекта.

  $comments = $mosConfig_absolute_path . '/components/com_jcomments/jcomments.php';
  if (file_exists($comments)) {
    require_once($comments);
    echo JComments::showComments($id, 'com_mycomp', $title);
  }

Где $id — это идентификатор комментируемого, com_mycomp — имя компонента и $title — имя объекта.
вставил в свой код данный кусок
заменив ($id, 'com_mycomp', $title)
на свои значения
Код
 $comments = $mosConfig_absolute_path . '/components/com_jcomments/jcomments.php';

эту строку пришлось заменить на
Код
 $comments = '/var/www/develop/j15/components/com_jcomments/jcomments.php';

В итоге результат такой

http://develop.vzletka.net/j15/index.php?option=com_makeup&task=show&id_product=1

Попытка оставить комментарий не проходит, комменты к новостям при этом работают на ура. не могу понять в чём косяк :(


*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Код комментариев вставляется в код страницы статично или посредством AJAX-запроса?
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
статично, но у меня подозрения что ajax между собой пересекается
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Да не думаю, дело в том, что выглядит это все так, как будто не инициализируется ни объект редактора комментариев, и не подключается файл стилей...
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Кажется проблема решилась...
в другой див запихал код комментариев
*

skrap

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
А каким образом сделать так, чтобы ссылка на комментарии и их количество отображалась только в случае, если комментарии для данной статьи не запрещены (например, отключено комментирование вообще, или для неавторизованных)? 
*

smart

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

Код: php
require_once($mainframe->getCfg('absolute_path') . '/components/com_jcomments/jcomments.php');
$acl = & JCommentsFactory::getACL();
if ($acl->canComment()) {
// у пользователя есть право на комментирование
}
*

skrap

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Спасибо :) Все получилось
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
smart
хочу поле хомепейдж заменить на выпадающий список с заранее введёными значениями. грубо говоря посетители сайта могу выбрать хомепейдж себе из 3х предложенных.
это так понимаю всё в tpl_comment.php надо переделать в классы jcoomment лесть не надо?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Т.е. грубо говоря ты хочешь использовать поле homepage для каких-то других целей. Допустим там город или еще что-то? И чтобы пользователи просто выбирали значение из списка - так?

Если ты в это поле хочешь сохранять именно ссылки на сайты, то можно изменить только в шаблоне, в самом компоненте можно ничего не менять - значение этого поля по-прежнему будет сохраняться в базу и считываться с него. А вот если нужно сохранять текстовые данные - в компоненте надо убрать проверку на корректность ссылки. Замени в файле jcomments.ajax.php строчку:

Код: php
$comment->homepage = JCommentsText::url($values['homepage']);
на
Код: php
$comment->homepage = trim(strip_tags($values['homepage']));
*

skrap

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Ну можно добавить вот такую проверку:

А как проверить, разрешено ли комментирование этой статьи? Например, не стоит ли там {jcomments off} или комментарии этого раздела или категории не запрещены в настройках?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Ну на самом деле, на такой вопрос, вы легко могли бы найти ответ самостоятельно, изучив jcomments.content.php. Но раз уж вопрос задан... Есть вот вспомогательный класс JCommentsContentPluginHelper (/com_jcomments/helpers/contentplugin.php), у него есть несколько методов:

  • isEnabled
  • isDisabled
  • isLocked
  • checkCategory

Все методы данного класса прокомментированы, параметры описаны. Так что посмотрите, и, я думаю, все станет понятно. Обращаю ваше внимание, что большинство функций и классов имеют описание в комментариях.
*

skrap

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Smart,
Спасибо за ответ :)

Дело в том, что я последний раз активно занимался программированием еще тогда, когда ООП было чем-то новым, а c PHP последний раз плотно сталкивался, когда появилась 3 версия...
Никак у меня не получается сделать, чтобы ссылка на комментарии появлялась, только если комментирование конкретной статьи возможно и пользователь имеет право комментировать.
Буду разбираться :) 
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
у меня проблема вот такая:
Интеграцию делал по вашему руководсву
но в результате получил вот такое

Хотя в вызове подставляю и ид и имя материала.

далее используемый код и результат его работы
Цитировать
<?php

$comments = '/www/makeupli/www/htdocs/components/com_jcomments/jcomments.php';
  if (file_exists($comments)) {
      require_once($comments);
echo $this->data->id_pro.'com_makeup'.$this->data->name;
          echo JComments::showComments($this->data->id_pro,'com_makeup',$this->data->name);
       }
?>


нужно оно мне в выборке последних комментариев

чтоб они были кликабельны, в настройках указал чтоб выводились заголовки материала
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вот, и тут мы дошли до самого главного в интеграции - до плагина. Пока для данного компонента не будет плагина - не будет ни заголовков, ни корректных ссылок. Почитайте внимательно вот тут: Создание плагина для JComments.
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
а жесть а я ползаю по структуре БД пытаюсь найти таблицу соответвсия где мой ИД соотносится с ИД коммента и от этой связки выдирается имя обьекта. :)
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Учитывая тот факт, что названия объектов могут меняться (впрочем как и ссылки на них - например установили новый SEF или пункт меню добавили), я посчитал неэффективным хранение статичной информации об этом в комментариях и возложил функцию получения данной информации на плагины.
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
smart
только я немного логику потерял :(

вот есть код

Код
function getObjectOwner( $id ) {
   
    $db = & JCommentsFactory::getDBO();
    $db->setQuery( "SELECT created_by FROM #__mycomp WHERE id='$id'");
    return $db->loadResult();
  }

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

или я чего-то не правильно понимаю?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Вопрос в том "чей овнер"
я предположил, что овнер коммента. но логично его брать из таблицы комментов по ид коммента овер основого сообщения, а нужен ли он?
Ну если метод называется getObjectOwner, то можно предположить, что он возвращает владельца объекта. А для каких объектов существует тот или иной плагин? Ну конечно для комментируемых...

Если бы он возвращал идентификатор автора комментария, то метод бы назывался getCommentOwner... но в таком случае, зачем его засовывать в плагин?

Еще раз, в документации по созданию плагинов написано:

Цитировать
Плагины используются компонентом для получения информации о комментируемом объекте (имя объекта или прямая ссылка). Это необходимо потому, что сам компонент комментариев ничего не знает о комментируемых объектах и о их структуре данных. Поэтому, такие задачи, как построение ссылки на объект и получение его названия возлагаются на разработчика расширения.

А следовательно, данные плагины работают с комментируемыми объектами, а не с комментариями.

овер основого сообщения, а нужен ли он?
Не сообщения, а комментируемого объекта (статьи, файла, картинки в галерее). Данная функция позволяет определить кто автор комментируемого объекта. Зачем? Ну например, чтобы автоматически его подписать на комментарии. Или чтобы в списке комментариев к материалу комментарии автора выделялись цветов. Вариантов использования может быть множество.
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Цитировать
Если бы он возвращал идентификатор автора комментария, то метод бы назывался getCommentOwner... но в таком случае, зачем его засовывать в плагин?
Это меня и натолкнуло что ("овнера обьекта"= овенера материала) (не точно выразился)= владелец коментируемого объекта.
но если владелец у меня всегда админ, и вообще не важно пользователю знать кто овнер объекта. ну это в моем варианте.

могу либо задать постоянного овнера, либо не вызывать данную функцию вообще?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
но если владелец у меня всегда админ, и вообще не важно пользователю знать кто овнер объекта. ну это в моем варианте.
если в вашем компоненте владелец всех комментируемых объектов всегда один пользователь (администратор) вы можете просто не реализовывать данную функцию в плагине. Так как любой плагин является наследником от JCommentsPlugin где присутствует базовая реализация данного метода, возвращающая по умолчанию -1.
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
ага сработало :) как расплатятся на пиво переведу вам :)

и ещё ошибочка у вас на сайте

class jc_com_mycomp extends JCommentsPlugin {
 
  function getObjectTitle( $id ) {
   
    $db = & JCommentsFactory::getDBO();
    // Загрузка из базы данных имени по заданному id
    $db->setQuery( "SELECT title FROM #__mycomp WHERE id='$id'");
    return $database$db->loadResult();
  }
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
и ещё ошибочка у вас на сайте
угу, спасибо, исправил
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
блин насколько приятно использовать продукты, а не "поделки".
просто кайф. Спасибо большое ,человеческое за качественный продукт.
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
ещё у меня вопрос, надо мне расширить набор полей комментируемого объекта.
как мне это красивее сделать.
тоесть добавить ещё пару полей не важного какого типа. хоть чекбокс хоть поле ввода.

второй вопрос.
хочу в модуле последних комментариев добавить ещё одно поле для вывода что присутствует в самописном компоненте.

Заранее спасибо :)

*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
ещё у меня вопрос, надо мне расширить набор полей комментируемого объекта.
комментируемый объект это то, что комментируется... Т.е. объекты вашего компонента - и тут компонент комментариев не при чем. Если вы имеете в виду "объект комментария", подразумевая под этим сам комментарий, то это совсем другая история - на форуме точно было описание, как добавить поле title.

хочу в модуле последних комментариев добавить ещё одно поле для вывода что присутствует в самописном компоненте.
добавляйте, кто ж запрещает-то? откорректируйте запросы к БД, которые выбирают комментарии и выберите дополнительную информацию из таблиц вашего компонента...
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Цитировать
комментируемый объект это то, что комментируется...
ну разумеется снова не правильно выразился..
спасибо попробую поискать.
*

Saber

  • Осваиваюсь на форуме
  • 49
  • 1 / 0
Пока наткнулся на одну тему
http://joomlaforum.ru/index.php/topic,39240.0.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интеграция с Community Builder

Автор Opposite

Ответов: 77
Просмотров: 74976
Последний ответ 20.09.2022, 11:22:26
от Vlad1
Интеграция JComments с SP Page Builder

Автор Proaqua

Ответов: 5
Просмотров: 8114
Последний ответ 14.06.2020, 11:53:38
от xpank
Интеграция с SP LMS

Автор valensy

Ответов: 11
Просмотров: 5257
Последний ответ 02.03.2020, 12:50:40
от shamangor
Интеграция JComments в JoomShoping

Автор apelsin

Ответов: 20
Просмотров: 14046
Последний ответ 27.12.2019, 22:39:08
от dron
Интеграция JComments с K2

Автор Sulpher

Ответов: 276
Просмотров: 145353
Последний ответ 31.07.2019, 11:05:39
от wishlight