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

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Всем привет!
Подскажите пжлс как вывести на странице категории список производителей, чьи товары есть в данной категории.
За ранее спасибо!
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Ну для начала нужно понять куда Вы хотите вывести !!
Если прямо туда где товары - то тогда нужно найти в шаблоне  макет - где выводятся товары !!
И перед перебором товаров нужно их крутануть к примеру forech  и получить информацию о производителях....
а потом подумать как вывести ! - но это уже не так сложно !
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Всем привет!
Подскажите пжлс как вывести на странице категории список производителей, чьи товары есть в данной категории.
За ранее спасибо!
достаточно вывести фильтры в категории (настройки ЖШ)
http://prntscr.com/u7a8d3
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Ну для начала нужно понять куда Вы хотите вывести !!
Если прямо туда где товары - то тогда нужно найти в шаблоне  макет - где выводятся товары !!
И перед перебором товаров нужно их крутануть к примеру forech  и получить информацию о производителях....
а потом подумать как вывести ! - но это уже не так сложно !

Ув. gartes, вы правильно поняли, того как и где нужно вывести http://prntscr.com/u7q0kv
В двух словах опишу скрин, есть категория Пряжа и в ней товары двух производителей. Вот этих двух производителей нужно вывести на странице категории(список товаров категории) над фильтрами, сортировкой, товарами.

Примерно так себе и представлял, что нужно, перебрать товары на производителей, только как правильно это сделать - знаний не хватает((

Буду очень благодарен за любую помощь!
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
доброго времени
сори что поздно и в личку)
не поможете по этой задаче?
Ну - Ок ! Давайте постепенно решать ! (так как многое зависит от самого вашего шаблона ! )
Для Вас задача номер один !
1. создайте в том месте разметку - и просто руками (словами) напишите Manufacture 1 и Manufacture 2
Как вы это сделаете - пишите !!

не всегда могу смотреть почту - можете в скайп ссылки кидать на Ваши сообщения !
Skype : agroparknew (За вопросы по скайпу забаню !! :)  )

*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Ну - Ок ! Давайте постепенно решать ! (так как многое зависит от самого вашего шаблона ! )
Для Вас задача номер один !
1. создайте в том месте разметку - и просто руками (словами) напишите Manufacture 1 и Manufacture 2
Как вы это сделаете - пишите !!

не всегда могу смотреть почту - можете в скайп ссылки кидать на Ваши сообщения !
Skype : agroparknew (За вопросы по скайпу забаню !! :)  )



Спасибо, готово, отписался в лс
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Ок  - Вы молодец !! ))
относительный Путь какой к файлу где правили ?
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Ок  - Вы молодец !! ))
относительный Путь какой к файлу где правили ?

/templates/mytemplate/html/com_jshopping/category/category_default.php
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Не мое дело конечно - но так на заметку
немного некорректно работает поиск !
в URL результатов поиска отсутствует само поисковое слово !
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Не мое дело конечно - но так на заметку
немного некорректно работает поиск !
в URL результатов поиска отсутствует само поисковое слово !

Спасибо, потом будем смотреть)
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Код
$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
foreach ( $this->rows as $i => $row )
{
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Код
$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
foreach ( $this->rows as $i => $row )
{
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH

Спасибо большое, в целом получилось!
Только теперь дублируются производители, думаю всех товаров на странице. http://prntscr.com/u8jr42
Так как на каждой страницы пагинации разное количество http://prntscr.com/u8jrpl

*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Только теперь дублируются производители,
Код

$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
$manufacturerHistoty = [] ;
foreach ( $this->rows as $i => $row )
{
    if ( in_array( $row->manufacturer->id , $manufacturerHistoty )) continue ; #END IF
    $manufacturerHistoty[] = $row->manufacturer->id
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Код

$manufacturer = \JTable::getInstance('manufacturer', 'jshop');
$manufacturerHistoty = [] ;
foreach ( $this->rows as $i => $row )
{
    if ( in_array( $row->manufacturer->id , $manufacturerHistoty )) continue ; #END IF
    $manufacturerHistoty[] = $row->manufacturer->id
    $manufacturer->load( $row->manufacturer->id  );
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->manufacturer->id);

    # Наверное так путь к картинке но тут я не уверен !
    //    $manufacturer->manufacturer_logo

    ?>
    <h3>
        <a href="<?= $href ?>">
            <?= $manufacturer->getName()?>
        </a>
    </h3>
    <?php
}#END FOREACH

Почти супер)
Только если на странице товары одного производителя, то не выводятся остальные производители.
Первая страница пагинации http://prntscr.com/u8jxo1
Вторая страница пагинации http://prntscr.com/u8jxw9
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Почти супер)
А так ? )
Код

    $app = \Joomla\CMS\Factory::getApplication();
    $db = \Joomla\CMS\Factory::getDbo();
    $lang =   JSFactory::getLang();
    $category_id = $app->input->get('category_id' , false , 'INT') ;

    $Query = $db->getQuery(true);
    $select = [
//        $db->quoteName( 'm.'.$lang->get('name'))
        $db->quoteName( 'cat_map.product_id'),
        $db->quoteName( 'p.product_manufacturer_id'),
        $db->quoteName( 'm.manufacturer_id'),
        $db->quoteName( 'm.manufacturer_logo'),
        'm.' . $db->quoteName( $lang->get('name') ),

    ] ;
    $Query->select($select);
    $Query->from($db->quoteName( '#__jshopping_products_to_categories' , 'cat_map' ));
    $Query->leftJoin( $db->quoteName( '#__jshopping_products' , 'p' ). ' ON ' . $db->quoteName( 'cat_map.product_id').'='. $db->quoteName( 'p.product_id') );
    $Query->leftJoin( $db->quoteName( '#__jshopping_manufacturers' , 'm' ). ' ON ' . $db->quoteName( 'p.product_manufacturer_id').'='. $db->quoteName( 'm.manufacturer_id') );
    $whereArr = [
        $db->quoteName('category_id'). '='. $category_id ,
    ];
    $Query->where($whereArr);
    $Query->group( $db->quoteName( 'm.manufacturer_id') ) ;
    $db->setQuery($Query);
    $res = $db->loadObjectList();

    foreach ( $res as $i => $row )
    {

        $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->product_manufacturer_id  );

        # Наверное так путь к картинке но тут я не уверен !
        //    $manufacturer->manufacturer_logo

        ?>
        <h3>
            <a href="<?= $href ?>">
                <?= $row->{ $lang->get('name') } ?>
            </a>
        </h3>
        <?php
    }#END FOREACH
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
А так ? )
Код

    $app = \Joomla\CMS\Factory::getApplication();
    $db = \Joomla\CMS\Factory::getDbo();
    $lang =   JSFactory::getLang();
    $category_id = $app->input->get('category_id' , false , 'INT') ;

    $Query = $db->getQuery(true);
    $select = [
//        $db->quoteName( 'm.'.$lang->get('name'))
        $db->quoteName( 'cat_map.product_id'),
        $db->quoteName( 'p.product_manufacturer_id'),
        $db->quoteName( 'm.manufacturer_id'),
        $db->quoteName( 'm.manufacturer_logo'),
        'm.' . $db->quoteName( $lang->get('name') ),

    ] ;
    $Query->select($select);
    $Query->from($db->quoteName( '#__jshopping_products_to_categories' , 'cat_map' ));
    $Query->leftJoin( $db->quoteName( '#__jshopping_products' , 'p' ). ' ON ' . $db->quoteName( 'cat_map.product_id').'='. $db->quoteName( 'p.product_id') );
    $Query->leftJoin( $db->quoteName( '#__jshopping_manufacturers' , 'm' ). ' ON ' . $db->quoteName( 'p.product_manufacturer_id').'='. $db->quoteName( 'm.manufacturer_id') );
    $whereArr = [
        $db->quoteName('category_id'). '='. $category_id ,
    ];
    $Query->where($whereArr);
    $Query->group( $db->quoteName( 'm.manufacturer_id') ) ;
    $db->setQuery($Query);
    $res = $db->loadObjectList();

    foreach ( $res as $i => $row )
    {

        $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->product_manufacturer_id  );

        # Наверное так путь к картинке но тут я не уверен !
        //    $manufacturer->manufacturer_logo

        ?>
        <h3>
            <a href="<?= $href ?>">
                <?= $row->{ $lang->get('name') } ?>
            </a>
        </h3>
        <?php
    }#END FOREACH

Теперь все хорошо, только лого производителя пропало http://prntscr.com/u8kj56
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
В обще в цикле там такой объект
Код
[0] => stdClass Object
        (
            [product_id] => 33463
            [product_manufacturer_id] =>
            [manufacturer_id] =>
            [manufacturer_logo] =>
            [name_ru-RU] =>
        )
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
$row->manufacturer_logo

Теперь все супер http://prntscr.com/u8knri
Огромнейшее спасибо!
Плюсую в карму!
*

sanek2281

  • Захожу иногда
  • 85
  • 7 / 0
Возможно кому-то пригодится, готовое решение!
Спасибо gartes

В файл /templates/mytemplate/html/com_jshopping/category/category_default.php в нужном месте вставляем код ниже(разметку\стили делаем свои):
Код

<div class="cat-manufacture">
<?php
    $app = \Joomla\CMS\Factory::getApplication();
    $db = \Joomla\CMS\Factory::getDbo();
    $lang =   JSFactory::getLang();
    $category_id = $app->input->get('category_id' , false , 'INT') ;

    $Query = $db->getQuery(true);
    $select = [
        $db->quoteName( 'cat_map.product_id'),
        $db->quoteName( 'p.product_manufacturer_id'),
        $db->quoteName( 'm.manufacturer_id'),
        $db->quoteName( 'm.manufacturer_logo'),
        'm.' . $db->quoteName( $lang->get('name') ),
    ] ;
    $Query->select($select);
    $Query->from($db->quoteName( '#__jshopping_products_to_categories' , 'cat_map' ));
    $Query->leftJoin( $db->quoteName( '#__jshopping_products' , 'p' ). ' ON ' . $db->quoteName( 'cat_map.product_id').'='. $db->quoteName( 'p.product_id') );
    $Query->leftJoin( $db->quoteName( '#__jshopping_manufacturers' , 'm' ). ' ON ' . $db->quoteName( 'p.product_manufacturer_id').'='. $db->quoteName( 'm.manufacturer_id') );
    $whereArr = [
        $db->quoteName('category_id'). '='. $category_id ,
    ];
    $Query->where($whereArr);
    $Query->group( $db->quoteName( 'm.manufacturer_id') ) ;
    $db->setQuery($Query);
    $res = $db->loadObjectList();

    foreach ( $res as $i => $row ) {
    $href = SEFLink('index.php?option=com_jshopping&controller=manufacturer&task=view&manufacturer_id=' . $row->product_manufacturer_id  ); ?>
<div class="cat-manufacture-item">
<a href="<?= $href ?>">
<img src="/components/com_jshopping/files/img_manufs/<?= $row->manufacturer_logo?>" alt="<?= $row->{ $lang->get('name') } ?> фото">
</a>
<p><?= $row->{ $lang->get('name') } ?></p>
</div>
    <?php } ?>

</div>
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Цитировать
закомандовал сделать такое же на странице производителя, не подскажете как поправить этот код!?
))) Всем хорошего Дня !!
А в чем трабла ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 26
Просмотров: 41277
Последний ответ 14.10.2025, 12:54:56
от sergeytolkachyov
JoomShopping, вывод всех категории к которым принадлежит товар

Автор Valent777

Ответов: 12
Просмотров: 4770
Последний ответ 01.11.2024, 14:57:28
от kit2m2
Дополнительные поля для категории JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 2610
Последний ответ 07.07.2024, 08:43:15
от nevigen
Вывести название категории в списке товаров

Автор ataman

Ответов: 9
Просмотров: 5458
Последний ответ 15.09.2023, 20:31:11
от Alex_gs
Отображения описании категории только на первой странице

Автор graf

Ответов: 5
Просмотров: 2110
Последний ответ 04.05.2023, 18:52:08
от kit2m2