Новости Joomla

👩‍💻 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

Вышли релизы безопасности Joomla 6.1.2 и Joomla 5.4.7

Релиз безопасности Joomla 6.1.2 и Joomla 5.4.7

Проект Joomla! рад сообщить о выходе Joomla 6.1.2 и Joomla 5.4.7. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 0 Ответов
  • 1357 Просмотров
*

kate1987

  • Захожу иногда
  • 51
  • 0 / 0
Здравствуйте
После импорта материалов из Joomla 3 в К2 нужно отобразить первое изображение из содержимого статьи как превью статьи на странице со списком материалов (category_item.php)
Пробовала плагин IAKI, но он отображает картинку из контента как изображение К2 только на странице детального просмотра статьи

Код плагина

Код
<?php
/**
 * @version 2.1
 * @package IAKI - Import As K2 Image (K2 plugin)
 * @author     JoomlaWorks - http://www.joomlaworks.net
 * @copyright Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved.
 * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

// Load the K2 Plugin API
JLoader::register('K2Plugin', JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'lib'.DS.'k2plugin.php');

// Initiate class to hold plugin events
class plgK2Jw_iaki extends K2Plugin
{

// Some params
var $pluginName = 'jw_iaki';
var $pluginNameHumanReadable = 'IAKI (Import As K2 Image)';

function plgK2Jw_iaki(&$subject, $params)
{
parent::__construct($subject, $params);

// Define the DS constant under Joomla! 3.0
if (!defined('DS'))
{
define('DS', DIRECTORY_SEPARATOR);
}
}

function onK2PrepareContent(&$item, &$params, $limitstart)
{
$mainframe = JFactory::getApplication();

// Get the K2 plugin params (the stuff you see when you edit the plugin in the plugin manager)
$plugin = JPluginHelper::getPlugin('k2', $this->pluginName);
$pluginParams = new JRegistry($plugin->params);

$limitK2ItemId = (int)$pluginParams->get('limitK2ItemId', 9999999);
$sourceImageFolder = $pluginParams->get('sourceImageFolder');
$destImageFolder = $pluginParams->get('destImageFolder');

// Includes
require_once (dirname(__FILE__).DS.$this->pluginName.DS.'includes'.DS.'helper.php');
$JWIakiHelper = new JWIakiHelper;

// Output
if (isset($item->id) && $item->id <= $limitK2ItemId)
{

if (isset($item->text) && JString::trim($item->text)!= '')
{
$text = $item->text;
}
elseif (isset($item->introtext) && JString::trim($item->introtext)!= '')
{
$text = $item->introtext;
}
else
{
$text = '';
}

$getFirstImage = $JWIakiHelper->getFirstImage($text);

// Replace the entire path if needed
if ($sourceImageFolder && $destImageFolder)
{
$getFirstImageSrc = str_replace($sourceImageFolder, $destImageFolder, $getFirstImage['src']);
}
else
{
$getFirstImageSrc = $getFirstImage['src'];
}

if ($getFirstImageSrc && !(isset($item->imageXSmall) && $item->imageXSmall != ''))
{
// Assign image path to K2 image object
$item->image = $item->imageXSmall = $item->imageSmall = $item->imageMedium = $item->imageLarge = $item->imageXLarge = $item->imageGeneric = $getFirstImageSrc;

// Strip the content from the actual <img /> tag
$item->text = str_replace($getFirstImage['tag'], '', $item->text);
}
}

}

} // END CLASS
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться