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

Snakey

  • Новичок
  • 1
  • 0 / 0
Как вывести дату ?
« : 12.09.2012, 11:52:55 »
Доброго времени суток.

Использую Joomla 2.5.6
шаблон Beez_20


Реализую раздел о тендерах на сайте.
Создал категорию "тендер" и в ней 2 подкатегории - текущие и прошедшие.

У меня есть пункт главного меню - которое выводит список всех категорий - из категории "Тендер" в виде списка ссылок.




Если кликнуть по ссылке - то выводится материал категории в таблице которая имеет поля "Заголовок" "Автор" "Хиты"
Я бы хотел добавить туда поле которое выводило бы еще и дату создания.
За формирование таблицы как я понял отвечает \www\components\com_content\views\category\tmpl\default_articles.php

Еще одну колонку я добавил - а вот как вывести туда дату создания ?? В ПХП не силен. Если можно с подробными комментариями чтоб смог разобраться.



Раздел "закупки" и "список категорий" пока тестовые.


Побывал так - но что то не так )

<?php if ($date = $this->params->get('list_show_date')) : ?>
<td class="list-hello">   
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php echo JText::sprintf('COM_CONTENT_', $date); ?>

</td>
Отображается только одна дата. Видимо дата должна считываться как то в цикле опрашивая каждый материал.

Код
<?php
/**
 * @package Joomla.Site
 * @subpackage com_content
 * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

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

JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::core();

// Create some shortcuts.
$params = &$this->item->params;
$n = count($this->items);
$listOrder = $this->escape($this->state->get('list.ordering'));
$listDirn = $this->escape($this->state->get('list.direction'));
$date = "created" ;
?>

<?php if (empty($this->items)) : ?>

<?php if ($this->params->get('show_no_articles', 1)) : ?>
<p><?php echo JText::_('COM_CONTENT_NO_ARTICLES'); ?></p>
<?php endif; ?>

<?php else : ?>

<form action="<?php echo htmlspecialchars(JFactory::getURI()->toString()); ?>" method="post" name="adminForm" id="adminForm">
<?php if ($this->params->get('show_headings') || $this->params->get('filter_field')!= 'hide' || $this->params->get('show_pagination_limit')) :?>
<fieldset class="filters">
<?php if ($this->params->get('filter_field')!= 'hide') :?>
<legend class="hidelabeltxt">
<?php echo JText::_('JGLOBAL_FILTER_LABEL'); ?>
</legend>

<div class="filter-search">
<label class="filter-search-lbl" for="filter-search"><?php echo JText::_('COM_CONTENT_'.$this->params->get('filter_field').'_FILTER_LABEL').'&#160;'; ?></label>
<input type="text" name="filter-search" id="filter-search" value="<?php echo $this->escape($this->state->get('list.filter')); ?>" class="inputbox" onchange="document.adminForm.submit();" title="<?php echo JText::_('COM_CONTENT_FILTER_SEARCH_DESC'); ?>" />
</div>
<?php endif; ?>



<!-- @TODO add hidden inputs -->
<input type="hidden" name="filter_order" value="" />
<input type="hidden" name="filter_order_Dir" value="" />
<input type="hidden" name="limitstart" value="" />
</fieldset>
<?php endif; ?>

<table class="category">
<?php if ($this->params->get('show_headings')) :?>
<thead>
<tr>
<th class="list-title" id="tableOrdering">
<?php  echo JHtml::_('grid.sort', 'JGLOBAL_TITLE', 'a.title', $listDirn, $listOrder) ; ?>
</th>

<?php if ($date = $this->params->get('list_show_date')) : ?>
<th class="list-date" id="tableOrdering2">
<?php if ($date == "created") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php elseif ($date == "modified") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.modified', $listDirn, $listOrder); ?>
<?php elseif ($date == "published") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.publish_up', $listDirn, $listOrder); ?>
<?php endif; ?>
</th>
<?php endif; ?>

<?php if ($this->params->get('list_show_author', 1)) : ?>
<th class="list-author" id="tableOrdering3">
<?php echo JHtml::_('grid.sort', 'JAUTHOR', 'author', $listDirn, $listOrder); ?>
</th>
<?php endif; ?>
<?php //вот оно............................................................ ?>
<?php if ($this->params->get('list_show_hits', 1)) : ?>
<th class="list-hits" id="tableOrdering4">
<?php echo JHtml::_('grid.sort', 'JGLOBAL_HITS', 'a.hits', $listDirn, $listOrder); ?>
</th>
<?php endif; ?>

<?php if ($this->params->get('list_show_hits', 1)) : ?>
<th class="list-hello" id="tableOrdering5">
<?php echo ("Дата публикации"); ?>

</th>
<?php endif; ?>
</tr>
</thead>
<?php endif; ?>

<tbody>

<?php foreach ($this->items as $i => $article) : ?>
<?php if ($this->items[$i]->state == 0) : ?>
<tr class="system-unpublished cat-list-row<?php echo $i % 2; ?>">
<?php else: ?>
<tr class="cat-list-row<?php echo $i % 2; ?>" >
<?php endif; ?>
<?php if (in_array($article->access, $this->user->getAuthorisedViewLevels())) : ?>

<td class="list-title">
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid)); ?>">
<?php echo $this->escape($article->title); ?></a>

<?php if ($article->params->get('access-edit')) : ?>
<ul class="actions">
<li class="edit-icon">
<?php echo JHtml::_('icon.edit', $article, $params); ?>
</li>
</ul>
<?php endif; ?>
</td>

<?php if ($this->params->get('list_show_date')) : ?>
<td class="list-date">
<?php echo JHtml::_('date', $article->displayDate, $this->escape(
$this->params->get('date_format', JText::_('DATE_FORMAT_LC3')))); ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('list_show_author', 1)) : ?>
<td class="list-author">
<?php if(!empty($article->author) || !empty($article->created_by_alias)) : ?>
<?php $author =  $article->author ?>
<?php $author = ($article->created_by_alias ? $article->created_by_alias : $author);?>

<?php if (!empty($article->contactid ) &&  $this->params->get('link_author') == true):?>
<?php echo JHtml::_(
'link',
JRoute::_('index.php?option=com_contact&view=contact&id='.$article->contactid),
$author
); ?>

<?php else :?>
<?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
<?php endif; ?>
<?php endif; ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('list_show_hits', 1)) : ?>
<td class="list-hits">
<?php echo $article->hits; ?>
</td>
<?php endif; ?>

<?php else : // Show unauth links. ?>
<td>
<?php
echo $this->escape($article->title).' : ';
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link = JRoute::_('index.php?option=com_users&view=login&Itemid='.$itemId);
$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($article->slug));
$fullURL = new JURI($link);
$fullURL->setVar('return', base64_encode($returnURL));
?>
<a href="<?php echo $fullURL; ?>" class="register">
<?php echo JText::_( 'COM_CONTENT_REGISTER_TO_READ_MORE' ); ?></a>
</td>

<?php endif; ?>



<?php if ($date = $this->params->get('list_show_date')) : ?>
<td class="list-hello">
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php echo JText::sprintf('COM_CONTENT_', $date); ?>

</td>
<?php endif; ?>







</tr>


<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>

<?php // Code to add a link to submit an article. ?>
<?php if ($this->category->getParams()->get('access-create')) : ?>
<?php echo JHtml::_('icon.create', $this->category, $this->category->params); ?>
<?php  endif; ?>

<?php // Add pagination links ?>
<?php if (!empty($this->items)) : ?>
<?php if (($this->params->def('show_pagination', 2) == 1  || ($this->params->get('show_pagination') == 2)) && ($this->pagination->get('pages.total') > 1)) : ?>
<div class="pagination">

<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<p class="counter">
<?php echo $this->pagination->getPagesCounter(); ?>
</p>
<?php endif; ?>

<?php echo $this->pagination->getPagesLinks(); ?>
</div>
<?php endif; ?>
</form>
<?php  endif; ?>

« Последнее редактирование: 12.09.2012, 12:09:20 от Snakey »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Re: Как вывести дату ?
« Ответ #1 : 12.09.2012, 21:33:57 »
Она и так там выводится . В настройках пункта меню надо разрешить вывод даты и все .
А в коде вывод даты уже предусмотрен :
Код
<?php if ($date = $this->params->get('list_show_date')) : ?>
<th class="list-date" id="tableOrdering2">
<?php if ($date == "created") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.created', $listDirn, $listOrder); ?>
<?php elseif ($date == "modified") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.modified', $listDirn, $listOrder); ?>
<?php elseif ($date == "published") : ?>
<?php echo JHtml::_('grid.sort', 'COM_CONTENT_'.$date.'_DATE', 'a.publish_up', $listDirn, $listOrder); ?>
<?php endif; ?>
</th>
<?php endif; ?>
Ответы на вопросы по CSS . Откройте для себя Firebug
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести все категории VirtueMart 3 второго уровня списком?

Автор Damarkuzz

Ответов: 0
Просмотров: 2658
Последний ответ 06.07.2020, 18:58:23
от Damarkuzz
Как вывести путь материала на страницу?

Автор Gromz

Ответов: 6
Просмотров: 3568
Последний ответ 14.12.2019, 20:19:21
от Gromz
Как вывести данные из stdClass Object в Joomla?

Автор specialist-web

Ответов: 7
Просмотров: 3910
Последний ответ 06.05.2019, 18:24:37
от specialist-web
Код вывести название страницы

Автор qvaro

Ответов: 1
Просмотров: 2130
Последний ответ 24.11.2018, 18:33:07
от beliyadm
Как к Категории вывести дополнительные поля?

Автор biosila9991

Ответов: 0
Просмотров: 1195
Последний ответ 01.04.2016, 16:59:26
от biosila9991