Новости 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 Ответов
  • 9758 Просмотров
*

artMelnikov

  • Захожу иногда
  • 57
  • 3 / 0
Всем привет.
Задача была такая:
на странице категории товара рядом с полем выбора сортировки должен присутствовать чекбокс, позволяющий скрыть товары, которых нет в наличии.

Пример здесь: http://4play.by/catalog/category/65.html

Огромное Спасибо за решение товарищам a-littlebox и mr.brightside с форума вирты!

Решение:

Красным цветом выделен код, который необходимо добавить в файлы.

В файле: administrator/components/com_virtuemart/html/shop_browse_queries.php
Цитировать
$where_clause[] = "((`product_parent_id`='0') OR (`product_parent_id`='')) ";
$filter_in_stock = $_SESSION['filter_in_stock'];
if( !$perm->check("admin,storeadmin") ) {
    $where_clause[] = "`product_publish`='Y' ";
    $where_clause[] = "`category_publish`='Y' ";
    if((CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "1") or $filter_in_stock == "1") {
        $where_clause[] = 'product_in_stock > 0';
    }
}
if( $perm->check("admin,storeadmin") &&  $filter_in_stock == "1") $where_clause[] = 'product_in_stock > 0';

В файле: components/com_virtuemart/virtuemart_parser.php
Цитировать
define( '_VM_PARSER_LOADED', 1 );  
   if ($_REQUEST['filter_in_stock'] == "1") $_SESSION['filter_in_stock'] = "1";
    if ($_REQUEST['filter_in_stock'] == "0")  $_SESSION['filter_in_stock'] = "0";

}
?>

В файле: components/com_virtuemart/themes/default/templates/browse/includes/browse_orderbyform.tpl.php
Цитировать
<?php
    
}
?>
<?
if ($_SESSION['filter_in_stock'] == "1")
  $filter_in_stock_status = "checked";
?>
<input type="hidden" name="filter_in_stock" value="0"> <!-- send value equal 0 if not checked -->
<input type="checkbox" id="filter_in_stock_label" name="filter_in_stock"  value="1" onclick="order.submit()" <?echo $filter_in_stock_status?>>
<label for="filter_in_stock_label">Показывать только товары в наличии</label>

</form>
Так как в коде последнего файла присутствует кириллица, сохраняйте его в кодировке UTF-8.

Всё, хак реализован!

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

Если хотите, чтобы галочка "Показывать только товары в наличии" стояла по-умолчанию, то
В файле: components/com_virtuemart/virtuemart_parser.php
нужно после добавленного нами
Цитировать
define( '_VM_PARSER_LOADED', 1 );  
   if ($_REQUEST['filter_in_stock'] == "1") $_SESSION['filter_in_stock'] = "1";
   if ($_REQUEST['filter_in_stock'] == "0") $_SESSION['filter_in_stock'] = "0";

дописать еще
Цитировать
   if ($_SESSION['filter_in_stock'] == "1");
   if ($_SESSION['filter_in_stock'] == "0");
   else $_SESSION['filter_in_stock'] = "1";

Прикрепил файлы реализованного хака для версии VirtueMart 1.1.8 stable. Для других версий лучше самим вносить изменения в файлы.
http://ifolder.ru/26712322
« Последнее редактирование: 02.11.2011, 15:52:47 от artMelnikov »
*

dxpsite

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
отличный способ.. не ожидал)))) спасибо!
*

artMelnikov

  • Захожу иногда
  • 57
  • 3 / 0
Всегда пожалуйста!))
*

vtx

  • Захожу иногда
  • 221
  • 19 / 0
есть один баг. если товаров нет, то форма сортировки изчезает и невозможно отменить выбор.
временно сделал в shop.browse.php правку
Код
if ( $num_rows > -1 && @$_REQUEST['output'] != "pdf") { // заменить на 0, если не выводить сортировку при отсутствии товары
но было бы неплохо если сделать что-то типа:
$new_url = ltrim($curent_url,'filter_in_stock=1&');
vmRedirect ($new_url)

и прибить где-то ссылкой
*

artMelnikov

  • Захожу иногда
  • 57
  • 3 / 0
Да, есть такой баг. Если кто-нибудь найдет решение, буду очень благодарен!
*

Stivik

  • Новичок
  • 3
  • 0 / 0
artMelnikov, вообще отлично я обязательно реализую твой хак, подскажи ещё, а как ты выводишь то, что у тебя товар в наличии или под заказ и его условное количество.
Очень нужно.  ! хочу рекламу дать, а там это требуется.
*

artMelnikov

  • Захожу иногда
  • 57
  • 3 / 0
Если я правильно понял, то смотри тут:
http://joomlaforum.ru/index.php/topic,6468.msg924858.html#msg924858
Хак добавляет возле кнопки "Купить" Надпись "В наличии" либо "Под заказ". При этом в админке должна быть выключена функция "Проверять наличие на складе?", иначе на товарах с остатком меньше 1 кнопка "Купить" будет меняться на "уведомить чего-то там"
*

Stivik

  • Новичок
  • 3
  • 0 / 0
artMelnikov, да но у тебя на сайте лучше сделано чем в том хаке, есть ли возможность выложить файлы?!
мне нравиться то что он графически обозначает и ещё текстом.
*

artMelnikov

  • Захожу иногда
  • 57
  • 3 / 0
Если ты про 4play то это не мой сайт а mr.brightside с forum.virtuemart.
Вот одно решение:
http://kegla.net/showpost.php?p=253&postcount=12
Видел еще где-то, но не могу найти щас. Увижу, напишу.
*

artMelnikov

  • Захожу иногда
  • 57
  • 3 / 0
Хотел было сделать наоборот, чтоб по-умолчанию показывались только товары, имеющиеся в наличии и был пустой чекбокс с надписью "Показать товары под заказ", и если поставить туда галку, то показывались товары которых нет в наличии. Крутил-вертел, ничего не получилось. Поэтому оставил как есть.
« Последнее редактирование: 24.10.2011, 09:27:47 от artMelnikov »
*

artMelnikov

  • Захожу иногда
  • 57
  • 3 / 0
Небольшое дополнение. Чтоб надпись "Показывать только товары в наличии" была тоже кликабельной, нужно:
В файле: components/com_virtuemart/themes/default/templates/browse/includes/browse_orderbyform.tpl.php
строчку
Цитировать
<input type="checkbox" name="filter_in_stock"  value="1" onclick="order.submit()" <?echo $filter_in_stock_status?>>Показывать только товары в наличии
заменить на
Цитировать
<input type="checkbox" id="filter_in_stock_label" name="filter_in_stock"  value="1" onclick="order.submit()" <?echo $filter_in_stock_status?>>
<label for="filter_in_stock_label">Показывать только товары в наличии</label>

В первом посте я уже изменил.
*

zzaj

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Да, есть такой баг. Если кто-нибудь найдет решение, буду очень благодарен!
Поблема всё еще актуальна! Эсли уже есть решение, то можно его в студию? ) Очень полезная вещь.
*

chinacrash

  • Новичок
  • 1
  • 0 / 0
А как вместо чекбокса сделать ссылки, все товары, товары в наличии?
*

SolopoV

  • Давно я тут
  • 577
  • 16 / 0
  • зеленею...
Notice: Undefined index: filter_in_stock in ****/components/com_virtuemart/virtuemart_parser.php on line 293
Это ругательство на
Код
	if ($_REQUEST['filter_in_stock'] == "1") $_SESSION['filter_in_stock'] = "1";
    if ($_REQUEST['filter_in_stock'] == "0")  $_SESSION['filter_in_stock'] = "0";

Как быть?
*

swerf

  • Новичок
  • 1
  • 0 / 0
А есть ли реализация данного чекбокса для VirtueMart 2.06? очень нужно!
*

alexxsav

  • Осваиваюсь на форуме
  • 27
  • 2 / 0
  • http://c-site.ru
Ктонибудь нашел реализацию для VM 2?
*

nukez

  • Новичок
  • 1
  • 0 / 0
Ктонибудь нашел реализацию для VM 2?

Решение для VM2
в файле /administrator/components/com_virtuemart/models/product.php

после строки if ($onlyPublished) {
            $where[] = ' p.`published`="1" ';
         }

вставляем
   // добавляем сортировку по наличию
   if ($_REQUEST['filter_in_stock'] == "1") $_SESSION['filter_in_stock'] = "1";
   if ($_REQUEST['filter_in_stock'] == "0")  $_SESSION['filter_in_stock'] = "0";
   $filter_in_stock = $_SESSION['filter_in_stock'];
   // заканчиваем сортировку

приводим строку
} else if (VmConfig::get('stockhandle','none')=='disableit') {
к виду
} else if (VmConfig::get('stockhandle','none')=='disableit' or $filter_in_stock == "1") {

в Файле /templates/ваш шаблон/html/com_virtuemart/category/default.php

в удобном месте в начале файла (у меня перед /* Show child categories */) вставляем
$urlcat = $_SERVER['QUERY_STRING'];
if ($_SESSION['filter_in_stock'] == "1") {
$filter_in_stock_status = "checked";
$filter_in_stock = $_SESSION['filter_in_stock']-1;}
else {$filter_in_stock = $_SESSION['filter_in_stock']+1;
$filter_in = '&filter_in_stock=';
}
$lit = '&filter_in_stock='.$filter_in_stock;
$urlcat = str_replace($lit, "", $urlcat);


После <?php echo $this->orderByList['orderby']; ?> или в нужное место шаблона вставим

<input type="hidden" name="filter_in_stock" value="0"> <!-- send value equal 0 if not checked -->
<input type="checkbox" id="filter_in_stock_label" name="filter_in_stock"  value="1" onclick="return location.href = '/index.php?<?php echo $urlcat.'&filter_in_stock='.$filter_in_stock;?>'" <? echo $filter_in_stock_status; ?>>
<label for="filter_in_stock_label">Только в наличии</label>


все работает на VM 2.0.23, на других не проверял, но думаю по аналогии все пашет
*

JediG

  • Новичок
  • 7
  • 0 / 0
Как бы это хак реализовать для VirtueMart 3
Очень полезная вещь, а до сих пор никто не сделал.

Попробовал сделать как для VM2, но к сожалению не работает. Чекбокс появился, а функции нет.
*

OutLaw1

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
+++ нужно для VM3 сделать! Помогите нубам ))
*

JediG

  • Новичок
  • 7
  • 0 / 0
Слежу за темой. Пришлось купить платный фильтр, но решение мне не нравится. Даже сейчас отключил бы его и сделал так как было. Не понятно почему разработчики ВМ не реализовали эту опцию по-умолчанию. Мне она кажется очень логичной.
*

OutLaw1

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Да согласен, эти фильтры типо myext, cherrypicker достаточно костыльные темы подходят только для сортировки доп полей и прочей лабуды.
А вот общий стандартный фильтр должен быть надежен, удобен и поддерживать пагинацию нормально. Стандартная VirtueMart сортировка  имеет очень мало настроек и иногда глючит. Но не хочу гнать на разработчиков они и так многое сделали и ещё бесплатно.

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

[Решено] Товарная накладная и товарный чек

Автор mikeles

Ответов: 6
Просмотров: 6619
Последний ответ 21.09.2019, 19:48:12
от kungurskiy
Как реализовать: товары, которых нет в наличии в конец списка категории?

Автор Girevik

Ответов: 1
Просмотров: 3303
Последний ответ 02.11.2017, 10:52:04
от P_B
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 35636
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
Скидка на категорию [почти решено]

Автор baloon

Ответов: 4
Просмотров: 3139
Последний ответ 06.04.2016, 20:00:27
от Ejov
404 для товаров которые удалены

Автор holovla

Ответов: 1
Просмотров: 3544
Последний ответ 06.05.2015, 19:42:13
от holovla