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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Очень часто бывают ситуации, когда возможностей привязки модулей на определенные ссылки в меню недостаточно, либо требуется более точечно отладить шаблон.
В FAQ уже существуют две замечательные темы:
Небольшие хитрости с позициями модулей
Отображение модулей в зависимости от параметра переменной $task
Но здесь рассмотрим более тривиальные и простые задачи.

Задача 1 - отображать\скрывать блоки сайта в зависимости от наличия публикации модулей
Для примера возьмем трехколоночный табличный резиновый шаблон, правая левая колонки по 25% ширины, центр тянется
Код
<table width="100%">
 <tr>
  <td width="25%"><?php mosLoadModules ( 'left' ); ?></td>
  <td>
   <?php echo mosMainBody(); ?>
  </td>
  <td width="25%"><?php mosLoadModules ( 'right' ); ?></td>
 </tr>
</table>
Делаем вот так:
Код
<table>
 <tr>
  <td width="25%"><?php mosLoadModules ( 'left' ); ?></td>
  <td>
   <?php echo mosMainBody(); ?>
  </td>
         <?php
         if ( mosCountModules( 'right' ) ) { ?>
         <td width="25%"><?php mosLoadModules ( 'right' ); ?></td>
         <?php } else {} ?>
  </td>
 </tr>
</table>
Что там это дает - при отсутствии опубликованных модулей в позиции RIGHT правая колонки исчезнет с сайта, и центральная с блоком mainbody будет занимать 75% ширины, вместо 50% как ранее.
Если подобную процедуру применить к левой ячейке - то mainbody вытянется на всю ширину экрана.

Задача 2 - популярный вопрос по отображению модулей (к примеру последних новостей) только на главной странице
Пусть блок наших новостей расположен в центральной колонке в позиции TOP, над ним PATHWAY. Нам надо чтобы на главной были последние новости но не мешался mainbody и не было pathway, на других страницах убирался модуль и был pathway с mainbody
Код
<table width="100%">
 <tr>
  <td width="25%"><?php mosLoadModules ( 'left' ); ?></td>
  <td>
     <?php if ( !isset($option) || @$option=='com_frontpage' ) {
     mosLoadModules ( 'top' ); } else { ?>
     <div><?php echo mosPathWay(); ?></div>
     <div><?php echo mosMainBody(); ?></div>
     <?php } ?>
  </td>
  <td width="25%"><?php mosLoadModules ( 'right' ); ?></td>
 </tr>
</table>
Должен сказать - весьма популярная конструкция, сам часто пользуюсь.


Задача 3 - "как скрыть правую колонку для форума"
Конструкция аналогично вопросу 2, только заменяем com_frontpage на название компонента.
К примеру com_firebird и применяем условие к правой колонке.

Задача 4 - разные картинки для разных страниц сайта
Можно найти какой нибудь модуль, написать свой, я же приведу одно из решений - когда мало того, что надо менять картинку на заранее определенную для страницы, так эта картинка должна быть фоновой для какого то элемента.
Код
<?php
if (@$Itemid == '1') {
$modulecss = 'img1';
} if (@$Itemid == '44') {
$modulecss = 'img2';
} else { $modulecss = 'img1'; }
?>
<div class="<?php echo $modulecss; ?>"></div>
В файле стилей делаю два класса:
img1 { background: url(img1.jpg); }
img2 { background: url(img2.jpg); }
У главной страницы ItemID равен 1 - будет работать класс img1 с фоновой картинкой img1.jpg
Для страницы с ItemID 44 - соответственно класс img2 с картинкой img2.jpg
Для всех остальных страниц по умолчанию класс img1
Что такое ItemID здесь

Если же нам требуется просто поместить разные картинки на разные пункты меню, то будет выглядеть примерно так:
Код
<?php
if (@$Itemid == '11' ) { echo "<img src='images/ico/1.gif' border='0' />";
} elseif (@$Itemid == '12' ) { echo "<img src='images/ico/2.gif' border='0' />";
} elseif (@$Itemid == '13' ) { echo "<img src='images/ico/3.gif' border='0' />";
} else {}
?>

Совмещяя данный пример с любым предыдущим - можно отображать элементы также и по идентификаторам пункта меню.
Кстати данный пример можно использовать для задания разным страницам сайта различного оформления CSS (е примеру background-color) без подключения дополнительных файлов стилей.
Обычно подобный прием я использую, если надо сделать разные шапки для разных страниц

Задача 5 - как избежать множества шаблонов, но сохранить возможность индивидуальной настройки главной и внутренних страниц
Открываем index.php нашего шаблона и в нем пишем:
Код
<?php
defined( '_VALID_MOS' ) or die( 'ERROR' );
switch ($option) {
   case 'com_frontpage': //for main page
     include_once ('front.php');
     break;

   default:  // default for all pages
      include_once ('inner.php');
      break;
}
?>
Что происходит - front.php и inner.php становятся как бы индексными из  разных шаблонов, содержимое каждого такого файла уже будет в точности соответствовать index.php разных шаблонов. Можно подключать различные стили CSS, графику, скрипты.
Можно продолжить данный кейс и отдавать разные страницы другим компонентам.

Итоги
Комбинируя данные приемы можно очень гибко управлять шаблоном, адаптируя практически любой дизайн под joomla

Внимание - в лоб применить данные приемы возможно лишь тогда, когда шаблон вы делаете самостоятельно. В большинстве же случаев (особенно если шаблон на DIV) - придется хорошенько покопаться в файле template_css.css
« Последнее редактирование: 01.03.2008, 14:54:31 от beliyadm »
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Различные условия в шаблонах
« Ответ #1 : 01.03.2008, 14:46:22 »
при переборе картинок я не вижу смысла использовать конструкцию IF( ... )


switch( @Itemid )
{
	
case 
1:
	
	
...
some code...;
	
break;

	
case 
2:
	
	
...
some code...;
	
break;

	
case 
N:
	
	
...
some code...;
	
break;

	
default:
	
	
...
some code...;
	
break;
}


ps. кстати, это
Цитировать
   if (@$Itemid == '11' ) { echo "<img src='images/ico/1.gif' border='0' />";
   } if (@$Itemid == '12' ) { echo "<img src='images/ico/2.gif' border='0' />";
   } if (@$Itemid == '13' ) { echo "<img src='images/ico/3.gif' border='0' />";
   } else {}
не правильно


должно быть:

if (@$Itemid == '11' )
{
   echo "<img src='images/ico/1.gif' border='0' />";
}
elseif (@$Itemid == '12' )
{
   echo "<img src='images/ico/2.gif' border='0' />";
}
elseif (@$Itemid == '13' )
{
   echo "<img src='images/ico/3.gif' border='0' />";
}
else
{
}
« Последнее редактирование: 01.03.2008, 14:50:52 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Различные условия в шаблонах
« Ответ #2 : 01.03.2008, 14:53:30 »
согласен и про    case и про elseif, задача стояла то не дать правила php, а основы манипуляции в шаблоне.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться