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

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
Перешел на JoomShopping, все понравилось много всего, но не хватало дополнительных полей, согласно инструкции (автор не я) все сделал, все супер работает, добавил сразу несколько полей, а вот как вывести эти новые поля корзине ? кто подскажет?

Инструкция как вывести поле в карточке товара:

Добавление поля с редактором (подробного описания description1)

1) Добавление формы редактирования в админке:
administrator\components\com_jshopping\views\product_edit\tmpl\description.php
(добавляем строки после аналогичных для существующего поля)

Код
    $description1 = "description1_".$lang->language;

Код
<tr>
    <td  class="key">Дополнительное поле:</td>
    <td>
        <?php
           $editor1 = &JFactory::getEditor();
           print $editor1->display('description1'.$lang->id,  
              $row->$description1 , '100%', '350', '75', '20');
        ?>
    </td>
</tr>
После вставки в админке на странице редактирования товара должно появиться поле, но вводимые в него данные сохраняться не будут, т.к. необходимо добавить еще поля в БД и контроллер, который будет согласовывать их согласовывать.

2) Добавление контроллера для формы в админке:
administrator\components\com_jshopping\controllers\products.php

Код
$post['description1_'.$lang->language] = 
    JRequest::getVar('description1'.$lang->id,'','post',"string", 2);


3) Добавление полей в базу данных
Заходим с помощью phpMyAdmin в таблицу _jshopping_products базы данных, выбираем вкладку «Структура». В зависимости от количества языков на сайте добавляем одно или несколько полей с нужным нам названием.



После данных манипуляций наше поле в админке должно успешно сохраняться.
Теперь необходимо вывести его, например, в шаблон карточки товара.

4) Получение значения поля
Открываем файл \components\com_jshopping\tables\product.php, находим функцию getDescription() и добавляем строки:

Код
$description1 = $lang->get('description1');

и

Код
$this->description1 = $this->$description1;


5) Вывод поля в шаблон
В шаблон карточки товара \components\com_jshopping\templates\default\product\product_default.php в необходимом месте прописываем:

Код
<?php print $this->product->description1; ?>

кстати в FAQе не хватает ее :)
« Последнее редактирование: 10.12.2013, 16:31:02 от McCafferty »
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
Ладно сам нашел решение как вывести в корзине, вдруг кому пригодится
Код
<?php 
$product = &JTable::getInstance('product', 'jshop');

$product->load($prod['product_id']);

$product->getDescription();

print trim($product->description1);?>
« Последнее редактирование: 08.01.2014, 20:37:32 от McCafferty »
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Спасибо! как раз то что надо, сделал все по шагам и заработало  *DRINK*

--------------------------------------

решил добавить дополнительное поле для категории, столкнулся с проблемой, в базу все сохраняется, но вывести не получается.
Пробовал выводить так:
<?php print $this->new_field; ?>
<?php print $this->category->new_field; ?>
Но эффеккта никакого...
« Последнее редактирование: 27.02.2014, 19:45:23 от koshsh »
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
1) В файл /administrator/components/com_jshopping/views/category/tmp/edit.php добавил это:
Код
$urlwebsite = "urlwebsite_".$lang->language;
      <tr>
        <td  class="key">
           Адрес проекта (Пример www.website.ru):
         </td>
         <td>
           <textarea name = "<?php print $urlwebsite;?>" cols = "50" rows="1"><?php echo $row->$urlwebsite ?></textarea>
         </td>
       </tr>

2) В файл /administrator/components/com_jshopping/controllers/categories.php  добавил это:
Код
$post['urlwebsite_'.$lang->language] = JRequest::getVar('urlwebsite_'.$lang->language,'','post',"string", 2);

3) добавил поля в базу (проверил из админки все сохраняется)

4) В файл /components/com_jshopping/tables/category.php там где getDescription() добавил это:
Код
$urlwebsite = $lang->get('urlwebsite');  
и это:
$this->urlwebsite = $this->$urlwebsite;

5) пытаюсь вывести поле, но не получается, ничего не выводит, подскажите пожалуйста что я делаю не так?


*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
1. непонятно, зачем website для разных языков - свое поле? одного urlwebsite мало?
2. лишнее
4. см. по пункту 1.
5. в выборке товаров из базы нет вашего нового поля. потому что выбирается только то, что указано в \components\com_jshopping\lib\jtableauto.php function getBuildQueryListProductDefaultResult
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Спасибо за ответ dmitry_stas

Цитировать
5. в выборке товаров из базы нет вашего нового поля. потому что выбирается только то, что указано в \components\com_jshopping\lib\jtableauto.php function getBuildQueryListProductDefaultResult
Вы меня немного не поняли, описанный способ отлично работает для товаров и без вмешательства в другие файлы компонента, но я создаю новое поле для категорий и хочу вывести его в списке категорий, но не получается...

не увидел в приведенном вами файле связи с категориями
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Вы меня немного не поняли

прекрасно вас понял

не увидел в приведенном вами файле связи с категориями

это прыскорбно :) а с учетом того, что в указанной функции всего то 3 строки, так еще и странно :) даже не знаю что тут сказать, надо наверное еще раз прочесть п.5, и еще раз посмотреть то, что возвращает функция
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Читаю 5 пункт снова ) и вставляю  cat.`".$lang->get('urlwebsite')."` as urlwebsite в список того что возвращает функция, однако ничего не выводится а на фронте появляются ошибки:
Код
Warning: Invalid argument supplied for foreach() in /components/com_jshopping/lib/functions.php on line 657
Warning: Invalid argument supplied for foreach() in /components/com_jshopping/lib/functions.php on line 427

*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
вы для чего поле urlwebsite создали? для категории чтоли? оно у вас для товара создано, причем тут cat ?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Цитировать
вы для чего поле urlwebsite создали? для категории чтоли? оно у вас для товара создано, причем тут cat ?

Да именнно для категорий а не для товаров
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
тьфу ты... перечитал еще раз...
Вы меня немного не поняли
получается что таки да, не понял. теперь это вдвойне прыскорбно :)

Цитировать
пытаюсь вывести поле, но не получается, ничего не выводит
как именно и где именно выводите?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Я создаю новое поле для категорий и хочу вывести его в списке категорий, но не получается...

тут:
/components/com_jshopping/templates/default_div/category/category_default.php


<?php print $this->urlwebsite; ?>
<?php print $this->category->urlwebsite; ?>
<?php print $category->urlwebsite; ?>
<?php print $this->product->urlwebsite; ?>
ничего не работает



*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
где именно вы пытаетесь это вывести - для текущей категории, или же в цикле для подкатегорий?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Да, нужно вывести в цикле для подкатегорий, после этого кода:
<?php foreach($this->categories as $k=>$category){?>


*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
\components\com_jshopping\tables\category.php function getSubCategories

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

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Плюсанул! вопрос решен, все выводится, спасибо
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
Согласно данной темы можно не только поле с редактором добавить но и различные элементы формы.
С input text все отлично работает, сохраняется, а вот с селектами, чекбоксами как быть ? На каком шаге что править чтобы

На шаге один вставил
Код
       <tr>
    <td  class="key">Халява:</td>
    <td>
            <input type="checkbox" name = "<?php echo $fealdsss?>" value = "<?php echo $row->$fealdsss?>" class = "inputbox" id="RadioGroup1_0">
            Сборка:Бесплатно!
          <br>
         
            <input type="checkbox" name = "<?php echo $fealdsss?>" value = "<?php echo $row->$fealdsss?>" class = "inputbox" id="RadioGroup1_1">
            Доставка:Бесплатно!
          <br>

    </td>
</tr>
остальное все тоже как и там... но не сохраняет.. Если вставить type="text"  то все сохраняет.
Подскажите как передать значение полей
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
нет никакой принципиальной разницы какой тип имеет инпут. другой вопрос - что у вас в value? посмотрите как устроена логика работы input type="checkbox"
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
я уже по всякому попробовал и в value подставлял то что надо передавать.. чекбокс не сохраняет галочку, соответсвенно ничего не передается
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
видимо не по всякому. вам что то говорит
Код: html4strict
checked
?

посмотрите как устроена логика работы input type="checkbox"
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
видимо не по всякому. вам что то говорит
Код: html4strict
checked
?
конечно, только смысл постановки его ? чтобы автоматом ставилась галочка ? пробовал, галочка стоит, в базе пусто.
если имеете ввиду в контроллере гдето писать, то я не программист и поэтому спрашиваю помощи
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну как мне вам еще помочь? я же все уже вроде сказал

нет никакой принципиальной разницы какой тип имеет инпут.

хоть текст, хоть селект, хоть радио и т.п. если инпут написан верно, то все сохраняется без каких либо дополнительных движений в контроллере.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
Тогда вопрос, как правильно прописать, что я не так написал ?)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
откуда кто знает, если вы показываете кусок, а вся картина только вам видна?

что у вас в value?

что кроме вывода инпута сделано?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
Остальное все как в 1 посте, заменил только description1 на fealdsss и  редактор
Спойлер
[свернуть]

на
Код
<input type="checkbox" name = "<?php echo $fealdsss?>" value = "<?php echo $row->$fealdsss?>" class = "inputbox">
            Сборка:Бесплатно!

Образец взял от других полей типа
Код
<input type = "text" class = "inputbox" size = "80" name = "<?php echo $name?>" value = "<?php echo $row->$name?>" />
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
что содержит переменная $fealdsss ? вот вы ее выводите

Код: php
<?php echo $fealdsss?>

вы ее где то до этого определяете?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
что содержит переменная $fealdsss ? вот вы ее выводите

Код: php
<?php echo $fealdsss?>

вы ее где то до этого определяете?

Да чуть выше
Код
$fealdsss = "fealdsss_".$lang->language;
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
и какой при этом name у инпута? какой столбец в базе создан? вы можете написать все сразу?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

McCafferty

  • Захожу иногда
  • 77
  • 3 / 0
и какой при этом name у инпута? какой столбец в базе создан? вы можете написать все сразу?

1) administrator\components\com_jshopping\views\product_edit\tmpl\description.php
Код
 $fealdsss = "fealdsss_".$lang->language;

Код
<tr>
    <td  class="key">Дополнительное поле:</td>
    <td>
<input type="checkbox" name = "<?php echo $fealdsss?>" value = "<?php echo $row->$fealdsss?>" class = "inputbox">
            Сборка:Бесплатно!
    </td>
</tr>

2) administrator\components\com_jshopping\controllers\products.php
Код
$post['fealdsss_'.$lang->language] = 
    JRequest::getVar('fealdsss'.$lang->id,'','post',"string", 2);


3)  в таблице MySQL  _jshopping_products добавлена строчка "fealdsss_ru-RU"


4)  \components\com_jshopping\tables\product.php
Код
$fealdsss = $lang->get('fealdsss');

Код
$this->fealdsss = $this->$fealdsss;


5)  \components\com_jshopping\templates\default\product\product_default.php
Код
<?php print $this->product->fealdsss; ?>

Вроде все
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
1. Вы понимаете как работает checkbox? Что должно быть в value? В примере - если отмечен запишется 1
Код: php
<input type="checkbox" name = "<?php echo $fealdsss?>" value = "1" class = "inputbox" <?php if ($row->$fealdsss) echo 'checked="checked"'?> />

2 - Лишнее. Удалите. Вместо этого нужно

Код: php
if (!isset($post['fealdsss_'.$lang->language])) $post['fealdsss_'.$lang->language] = 0;
соответственно, если не отмечен - запишется 0
« Последнее редактирование: 12.04.2014, 13:19:07 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

Ответов: 3
Просмотров: 3782
Последний ответ 26.02.2024, 07:00:01
от kit2m2
Стоимость товара, добавление (клонирование) стоимости товара на сайт

Автор Koral_n

Ответов: 9
Просмотров: 1370
Последний ответ 10.01.2019, 15:02:39
от Koral_n
Добавление класса к товару если нет в наличии

Автор xcasperss

Ответов: 19
Просмотров: 1501
Последний ответ 15.12.2018, 09:14:32
от xcasperss
JoomShopping/ Добавление поля и его вывод

Автор tiberian

Ответов: 1
Просмотров: 1375
Последний ответ 24.10.2018, 15:43:32
от kit2m2
Плагин переключения позиции описания категории для JoomShopping [Скачать]

Автор kit2m2

Ответов: 46
Просмотров: 7191
Последний ответ 15.07.2018, 12:35:06
от nevigen