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

srg

  • Захожу иногда
  • 209
  • 41 / 1
Добрый день, перекопал кучу тем, но требуемого не нашел, задачка в следующем:
как сделать более наглядный выбор категории при добавлении нового объявления? А то в одном раскрывающемся списке может быть 40-50-100 категорий для добавления. Т.е. сделать два раскрывающихся списка (второй формируется как под категории выбранной категории в первом списке). На  скриншоте, например, в списке "Аренда >> Квартиры", а нужно сделать первый список, выбор "Аренда", после появляется второй список с выбором "Квартиры".

[вложение удалено Администратором]
« Последнее редактирование: 06.11.2012, 16:38:55 от smart »
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
Класс. А это для какой версии 2.6 или 2.5.? Выложите пожалуйста. Не раз поднималась эта проблема.

ADS_2.6.1 Связные поля выбора категории и под категории.
Подчеркиваю, у меня по задаче только родительские категории и под категории, если у Вас 3-4-5 и т. д. вложенные под категории нужно вводить еще <select>`ы и модифицировать скрипт динамического селектбокса.

Изменяем шаблон добавления объявления:
в файле \components\com_adsmanager\views\edit\tmpl\default.php функция function updateFields() примерно 208 строка, между, ну например <!-- titel --> и  <!-- form --> вставляем скрипт

Код
  <!--/*my script*/-->
  <script>
  function dynamicSelect(id1, id2) {

// Сперва необходимо проверить поддержку W3C DOM в браузере

if (document.getElementById && document.getElementsByTagName) {

// Определение переменных, ссылающихся на списки

var sel1 = document.getElementById(id1);
var sel2 = document.getElementById(id2);

// Клонирование динамического списка

var clone = sel2.cloneNode(true);

// Определение переменных для клонированных элементов списка

var clonedOptions = clone.getElementsByTagName("option");

// Вызов функции собирающей вызываемый список

refreshDynamicSelectOptions(sel1, sel2, clonedOptions);

// При изменении выбранного элемента в первом списке:
// вызов функции пересобирающей вызываемый список

sel1.onchange = function() {
refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
}
}
}

// Функция для сборки динамического списка

function refreshDynamicSelectOptions(sel1, sel2, clonedOptions) {

// Удаление всех элементов динамического списка

while (sel2.options.length) {
sel2.remove(0);
}
var pattern1 = /( |^)(select)( |$)/;
var pattern2 = new RegExp("( |^)(" + sel1.options[sel1.selectedIndex].value + ")( |$)");

// Перебор клонированных элементов списка

for (var i = 0; i < clonedOptions.length; i++) {

// Если название класса клонированного option эквивалентно "select"
// либо эквивалентно значению option первого списка

if (clonedOptions[i].className.match(pattern1) ||
clonedOptions[i].className.match(pattern2)) {

// его нужно клонировать в динамически создаваемый список

sel2.appendChild(clonedOptions[i].cloneNode(true));
}
}
}

// Вызов скрипта при загрузке страницы

window.onload = function() {
dynamicSelect("parentcats", "subcats");
}
  </script>
  <!--/*end my script*/-->

идем в файл \components\com_adsmanager\views\edit\view.html.php и меняем функции (не забывайте старые версии файлов сохранить, что бы откатиться можно было)

Код
	function selectCategories($id, $level, $children,&$catid,$root_allowed,$link,$current_cat_only =0) {
if (@$children[$id]) {
foreach ($children[$id] as $row) {
if (($root_allowed == 1)||(!@$children[$row->id])) {
if ($current_cat_only == 0)
{?>
<option class="<?php echo 'cat'.$row->parent;?>" value="<?php echo JRoute::_("$link&catid=".$row->id); ?>" <?php if ($row->id == $catid) { echo "selected='selected'"; } ?>>
<?php echo $level.$row->name; ?>
</option>
<?php
}
else if ($row->id == $catid)
{
echo $level.$row->name;
}
}
$this->selectCategories($row->id, /*убрано что бы не дублировать родительские категории $level.$row->name." >> "*/"", $children,$catid,$root_allowed,$link,$current_cat_only);
}
}
}

function displaySingleCatChooser($ad_id,$conf,$option,$cats,$catid,$itemid)
{

if (($ad_id != "")&&
  file_exists( JPATH_BASE . "/components/com_paidsystem/api.paidsystem.php"))
{
$display_current_cat_only = 1;
$this->selectCategories(0,"",$cats,$catid,$conf->root_allowed,""/*$link*/,$display_current_cat_only);
}
else
{
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function jumpmenu(target,obj,restore){
  eval(target+".location='"+obj.options[obj.selectedIndex].value+"'");
  obj.options[obj.selectedIndex].innerHTML="<?php echo JText::_('ADSMANAGER_WAIT');?>";
}
//-->
</script>

<?php
/*my*/
$parcat=-1;
if ($catid <> 0){
$keys=array_keys($cats);
$count = count($keys);
for ($i = 0; $i < $count; $i++) {
foreach ($cats[$keys[$i]] as $row){
if ($row->id==$catid) $parcat=$row->parent;
}
}

}
?>
<select name="ParentCats" id="parentcats">
<?php
echo "<option class='select' value='select' selected=selected>".JText::_('ADSMANAGER_SELECT_CATEGORY')."</option>";
foreach ($cats[0] as $row) {
$selected='';
if ($row->id == $parcat) $selected= "selected='selected'";
echo '<option value="cat'.$row->id.'" '.$selected.'>'.$row->name.'</option>';
}
?>
  </select>

<select id='subcats' class='adsmanager_required' name='category_choose' onchange="jumpmenu('parent',this)">
<?php

if ((@$ad_id)&&($ad_id != ""))
$link = "index.php?option=com_adsmanager&Itemid=$itemid&task=write&id=$ad_id";
else
$link = "index.php?option=com_adsmanager&Itemid=$itemid&task=write";
/*if ($catid == 0)*/ /* не нужно т.к. при смене род.категории требуется повторно выбрать и под категорию*/
echo "<option class='select' value='select' selected=selected>".JText::_('ADSMANAGER_SELECT_CATEGORY')."</option>";
if (function_exists("selectPaidCategories"))
selectPaidCategories(0,"",$cats,$catid,$conf->root_allowed,$link,0);
else
$this->selectCategories(0,"",$cats,$catid,$conf->root_allowed,$link,0);
?>
</select>
<?php
}
}

Вроде все! Спасибо автору статьи http://www.my-article.net/get/html/select/динамические-выпадающие-списки , тут можно подробнее почитать о технике
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок
ADS_2.6.1 Связные поля выбора категории и под категории.
Подчеркиваю, у меня по задаче только родительские категории и под категории, если у Вас 3-4-5 и т. д. вложенные под категории нужно вводить еще <select>`ы и модифицировать скрипт динамического селектбокса.

Изменяем шаблон добавления объявления:
в файле \components\com_adsmanager\views\edit\tmpl\default.php функция function updateFields() примерно 208 строка, между, ну например <!-- titel --> и  <!-- form --> вставляем скрипт

Код
  <!--/*my script*/-->
  <script>
  function dynamicSelect(id1, id2) {



Вроде все! Спасибо автору статьи http://www.my-article.net/get/html/select/динамические-выпадающие-списки , тут можно подробнее почитать о технике
[/quote]





.

Дополнительный пункт появился, но подкатегории почему то не отображаются. Это может быть из-за тог, что у меня категории 4й вложенности?

Посмотрите пожалуйста


Дополнительный пункт появился, но подкатегории почему то не отображаются. Это может быть из-за тог, что у меня категории 4й вложенности?

Посмотрите пожалуйста


[вложение удалено Администратором]
« Последнее редактирование: 02.08.2011, 23:39:30 от Алекс82 »
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
гляньте что не так

[вложение удалено Администратором]
« Последнее редактирование: 03.08.2011, 01:28:43 от mbgr »
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
гляньте что не так
Хммм... посмотрел, заменил на Ваши файлы у себя все работает...
На всякий случай спрошу, что за браузер?
структура категорий?
должно быть так:
род.катег -|- под катег.
               +- под катег.
а так работать скорее всего не будет:
род.катег -|- под катег. -под катег
               +-  под катег - под катег.
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
Дополнительный пункт появился, но подкатегории почему то не отображаются. Это может быть из-за тог, что у меня категории 4й вложенности?
Посмотрите пожалуйста
да 2 селекта только на 2х уровневый каталог, что бы обрабатывать все N уровней нужно динамически создавать N селектов, что под силу AJAX технологии, я пока такое не делал, но тут можно почитать разобраться http://pyha.ru/forum/topic/86.0
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок
да 2 селекта только на 2х уровневый каталог, что бы обрабатывать все N уровней нужно динамически создавать N селектов, что под силу AJAX технологии, я пока такое не делал, но тут можно почитать разобраться http://pyha.ru/forum/topic/86.0

Спасибо за ответ. будем ждать пока кто-нибудь не выложит. Я в PHP не бум бум.
*

mbgr

  • Захожу иногда
  • 88
  • 11 / 0
Хммм... посмотрел, заменил на Ваши файлы у себя все работает...
На всякий случай спрошу, что за браузер?
структура категорий?
должно быть так:
род.катег -|- под катег.
               +- под катег.
а так работать скорее всего не будет:
род.катег -|- под катег. -под катег
               +-  под катег - под катег.
опера-браузер
род.катег -|- под катег.
               +- под катег. ---вот так у меня
и не пашет нормально
http://real.adresnmsk.ru/
_____________________________
странно а мозиле все нормально, почему?
« Последнее редактирование: 03.08.2011, 15:00:39 от mbgr »
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
http://real.adresnmsk.ru/
_____________________________
странно а мозиле все нормально, почему?

Все работает, выбираю род.категорию и фильтруется 7 под категорий у вас всего их 35.
Если у вас не фильтруются под категории, а вылезают все 35 во втором селекте, вероятно в браузере отключены скрипты...т.к. у меня в опере работает в мазиле работает.
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок

http://real.adresnmsk.ru/
_____________________________
странно а мозиле все нормально, почему?
У меня в опере тоже нормально отображается
*

rusdark

  • Захожу иногда
  • 130
  • 0 / 0
  • RusDark
...вероятно в браузере отключены скрипты...т.к. у меня в опере работает в мазиле работает.

Огого! Я тут общаясь с коллегами (в недвижимости), товарищами, друзьями понял, что многие отключают скрипты, ставят всякие дополнения от скриптов и настраивают высокий уровень безопасности в браузерах. Как же тогда будет отображаться это поиск? )
А уж если речь идет о крупной компании, так  там админы настраивают сеть так, что люди часто не видят даже элементарных вещей.
Недавно одна барышня выносила мозг по телефону на предмет отсутствия на сайте фотографий коттеджного поселка.
Фотки там есть и очень давно! Вот, бывает, что люди с такими настройками сёрфят! )))
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок
Кто-нибудь реализовал выбор категорий с вложенностью более 2-х.? ?
« Последнее редактирование: 12.08.2011, 02:59:45 от Алекс82 »
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок
*

homelux

  • Захожу иногда
  • 194
  • 1 / 1
классно, srg можешь сделать такое для расширенного поиска и модуля поиска?
*

apelsin

  • Захожу иногда
  • 129
  • 0 / 1
Подкатегории выбираются, но не отображается (написано выберите категорию) в ie8, но объявление добавляется правильно. Как нибудь можно исправить?
*

homelux

  • Захожу иногда
  • 194
  • 1 / 1
правда есть такая проблема
*

Высотник

  • Осваиваюсь на форуме
  • 48
  • 3 / 0
как сделать три взаимосвязанных селекта  ?
*

srg

  • Захожу иногда
  • 209
  • 41 / 1
как сделать три взаимосвязанных селекта  ?
в 1ом селекте, выводим из базы 1 уровень категорий, после выбора делаем запрос к базе с фильтром по 2ому уровню категорий и так рекурсия на N вложенность, т.е. запросы к базе непосредственно после выбора, а это под силу технологии AJAX, нужно написать обработчик, или самим или заказываете на фрилансе, навряд ли в ближайших аптейтах АДС это появиться.
*

Nervniy

  • Новичок
  • 4
  • 1 / 0
Подскажите где подправить,чтобы если нет подкатегорий,то второй селект не отображал,а сразу показывал дальше поля для заполнения?
*

runis1

  • Новичок
  • 5
  • 0 / 0
Подкатегории выбираются, но не отображается (написано выберите категорию) в ie8, но объявление добавляется правильно. Как нибудь можно исправить?
проблема есть в IE не работает!
*

sav

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
кто знает что за хрень? у меня раньше выбор категории был выпадающим списком, а в один прекрасный момент стал списком с мультивыбором. Кто-нибудь знает как сделать назад? Или подскажите файл хотя бы который отвечает за отображение выбора категории при подаче объявления.
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
кто знает что за хрень?
Вы наверно в админке поменяли значение (Конфигурация->Общие->Количество категорий). Значение должно быть равным единице, если больше, то появляется мультивыбор
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
Спасибо всё работает!
Но возник такой вопрос?Первая колонка категорий отличается по цвету от всех остальных.Где находится файл отвечающий за её цвет?никак не могу найти
*

lionman

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Вопрос такой. Можно тоже самое сделать в расширенном поиске?
*

lionman

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
ЛЛЛЮДИ! Что никто не делал для расширенного поска. Или надо тоже самое почти делать?
*

HoBu4oK1982

  • Новичок
  • 1
  • 0 / 0
Люди добрые! ПОМОГИТЕ сделать 3-х уровневый список категорий и подкатегорий!
*

erick29

  • Захожу иногда
  • 74
  • 0 / 0
поддерживаю насчёт поиска!
*

lovivolnu

  • Захожу иногда
  • 323
  • 8 / 0
кто знает решение для 2.7?
представленное здесь решение для версии 2.7 работает не совсем корректно
*

shketok

  • Осваиваюсь на форуме
  • 36
  • 0 / 0
кто-нибудь в курсе как для поиска сделать?
*

leprikon_s

  • Захожу иногда
  • 60
  • 4 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Выбор марки>модели автомобиля

Автор THE KILLERS

Ответов: 16
Просмотров: 6591
Последний ответ 06.05.2025, 22:24:58
от Matzzz
Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 6078
Последний ответ 09.07.2019, 10:10:59
от guardnext
Изменить категории в AdsManager 3.1.5

Автор Doc

Ответов: 2
Просмотров: 11837
Последний ответ 17.03.2019, 21:17:30
от Doc
Как сделать сортировку объявдений в AdsManager

Автор Olegarh

Ответов: 9
Просмотров: 16451
Последний ответ 03.06.2018, 22:59:57
от Sabotage
AdsManager - как сделать несколько адресов?

Автор Ksenia2009

Ответов: 0
Просмотров: 12122
Последний ответ 21.04.2018, 15:13:44
от Ksenia2009