Новости Joomla

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

👩‍💻 ИИ-админ для Joomla ближе, чем вы думаете: Joomla MCP.

В февральском номере Joomla Community Magazine в статье Evolving Joomla - Joomla CMS MCP Server: Opening the Door to AI-Powered Administration рассказывается о работе команды разработчиков над внедрением в ядро Joomla MCP-сервера.

Что такое MCP-сервер?
Последние годы всех захватывает бум ИИ-технологий. Появились ИИ-агенты - программы, устанавливаемые на сервер или компьютер, которые получают от вас запрос или задачу в человеческом виде и могут выполнять действия с файлами, ходить по сайтам, создавать сайты, программировать и т.д. Люди используют ИИ-агентов в самых разных ситуациях: от написания и проверки кода (даже там, где язык программирования не знаете совсем) до планирования путешествий и бронирования гостиницы.

ИИ-агенты могут использовать различные программные инструменты по протоколу Model Context Protocol (MCP). Для этого разработчик программы должен внедрить MCP в свой продукт или сервис. Так, например, ваш ИИ-агент может ходить по сайтам через браузер и собирать нужную информацию, управляя браузером через MCP-сервер. Или использовать функционал IDE PHP Storm для написания кода, сбора и отладки ошибок, использовать поиск PHP Storm по кодовой базе, а не простой текстовый поиск по файлам. MCP предоставляет набор функций для полноценного управления программным обеспечением.

В случае с Joomla, сервер MCP может предоставить администраторам следующие возможности:
- Автоматическое создание категорий, материалов и меню на основе карты сайта или PDF-файла.
- Создавайть SEO-оптимизированные заголовки и метаописания в пакетном режиме.
- Обновлять расширения на нескольких сайтах одновременно
- Создание посадочные страницы.

Важно отметить, что сервер MCP не задумывался как функция, доступная только «супер-администраторам». Цель инициативы — создать решение, которое будет простым в настройке, маломощным и доступным для широкого круга пользователей.

В процессе разработки точка входа Joomla (аналогично Site, Administrator, Api, Cli), которая будет работать с Streamable HTTP, необходимым для MCP. Аутентификация пока что предполагается на токенах, но затем планируется создание универсального OAuth-сервера для Joomla.
Фактические возможности MCP — инструменты, ресурсы и подсказки — реализованы в виде плагинов для обеспечения расширяемости. Таким образом ожидаем, что и сторонние разработчики смогут создавать MCP-плагины для внедрения поддержки своих расширений Joomla для работы с ИИ.

@joomlafeed

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

Релиз безопасности Joomla 6.0.4 и Joomla 5.4.4

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

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

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Всем привет!
У меня стандартный модуль новостей выводит материалы из трех категорий. В нем есть сортировка по дате и по порядку. По дате меня не устраивает, а по порядку он выводит не так, как он (порядок) установлен в менеджере материалов. Особенно плохо то, что он выводит в перемешку материалы из разных категорий.
Хотелось бы подкорректировать вывод так, чтобы он сначала выводил материалы из одной категории, потом из второй, потом из третей.
Кто знает как это сделать?

Сам код сортировки очень маленький, но я не уверен, что дело в нем..
Код
// Set ordering
$ordering = $params->get('ordering', 'a.publish_up');
$model->setState('list.ordering', $ordering);

if (trim($ordering) === 'rand()')
{
$model->setState('list.ordering', JFactory::getDbo()->getQuery(true)->Rand());
}
else
{
$direction = $params->get('direction', 1)? 'DESC' : 'ASC';
$model->setState('list.direction', $direction);
$model->setState('list.ordering', $ordering);
}
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Стандартные модули новостей, увы, не умеют группировать по категориям (то есть нельзя сделать категория1 - список материалов, категория2 - список). Все идет в общий массив и сортируется уже там
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Хорошо, но он игнорирует сортировку по порядку менеджера материалов. В менеджере сортируешь одно,  а выводится другое.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Какой именно модуль используете? Последних материалов или материалы категорий? У них разные настройки но вроде в каждом есть опция "сортировать по порядку ручному", просто она будет идти сквозная (сначала порядок одной категории потом другой, хотя могу ошибаться, давно не смотрел запрос)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Модуль Новости, т.к. он выводит не просто список ссылок, а анонс. В нем есть сортировка по порядку, но как-то криво работает. В менеджере я расположил материалы в нужном порядке, но выводятся они не так.
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Может тогда подскажите как выстраить материалы по возрастанию ID категории каждого материала?
По сути у каждого материала есть категория с ID, как выстроить материалы по этому числу?
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Может тогда подскажете как выстроить материалы по возрастанию ID категории каждого материала?
По сути у каждого материала есть категория с ID, как выстроить материалы по этому числу?
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
Народ, подскажите, пожалуйста, как переписать вывод модуля так, чтобы материалы сортировались по ID категории?
Вот код вывода материала
Код
<?php for ($i = 0, $n = count($list); $i < $n; $i ++) : ?>
<?php $item = $list[$i]; ?>
<div class="item">
<?php require JModuleHelper::getLayoutPath('mod_articles_news', '_item'); ?>

<?php if ($n > 1 && (($i < $n - 1) || $params->get('showLastSeparator'))) : ?>
<span class="article-separator"> </span>
<?php endif; ?>
</div>
<?php endfor; ?>
Вот эта переменная содержит ID категории
Код
$item->catid
Google говорит нужно использовать функцию  Array(), но у меня не достаточно знаний!((
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
https://myrusakov.ru/php-sort-marray.html
вот пример сортировки двумерного массива. пробуй.
сначала надо набить двумерный массив, чтобы был ключ ID категории.
Код
$array = array();
for ($i = 0, $n = count($list); $i < $n; $i ++) $array[] = array("cat" => $item->catid, "data" => $item);

далее, как в примере, потом пробуй вывести ещё через один цикл


хотя, наверно, логичнее было бы тупо свой модуль сделать, который средствами MySQL делает выборку уже с сортировкой, чтобы не извращаться )

*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
За ответ, конечно, спасибо! Но если бы я разбирался в двумерных массивах, то не просил бы о помощи! К сожалению я не силен в этом. Все делаю с помощью Google..
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
хотя, наверно, логичнее было бы тупо свой модуль сделать, который средствами MySQL делает выборку уже с сортировкой, чтобы не извращаться )
Именно так, но писать код и тестировать чтобы отдать здесь готовое решение у меня желания, к сожалению нет.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
вот пример для стандартного шаблона (default)

Код

defined('_JEXEC') or die;
$array = array();
foreach ($list as $item) $array[] = array("cat" => $item->catid, "data" => $item);

  usort($array, "compare"); // Вызываем пользовательскую сортировку
  function compare ($v1, $v2) {
    /* Сравниваем значение по ключу cat */
    if ($v1["cat"] == $v2["cat"]) return 0;
    return ($v1["cat"] < $v2["cat"])? -1: 1;
  }

?>

<div class="newsflash<?php echo $moduleclass_sfx; ?>">
<?php foreach ($array as $it) : ?>
<?php
$item=$it[data];
//var_dump($item);
require JModuleHelper::getLayoutPath('mod_articles_news', '_item'); ?>
<?php endforeach; ?>
</div>
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попробуйте так: откройте файл XML модуля, найдите поле ordering, измените значение default  с "a.publish_up" на "a.catid, a.alias" и добавьте еще 1 option (вместо alias можете поставить другое поле)
Код
				<field
name="ordering"
type="list"
label="MOD_ARTICLES_NEWS_FIELD_ORDERING_LABEL"
description="MOD_ARTICLES_NEWS_FIELD_ORDERING_DESC"
default="a.catid, a.alias"
>
<option value="a.publish_up">MOD_ARTICLES_NEWS_FIELD_ORDERING_PUBLISHED_DATE</option>
...
<option value="a.catid, a.alias">MOD_ARTICLES_NEWS_FIELD_ORDERING_CAT_THEN_ALIAS</option>
</field>
В админке модуля выберите вариант по умолчанию или последний вариант.
« Последнее редактирование: 05.03.2018, 22:31:05 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

zahar_92

  • Захожу иногда
  • 315
  • 8 / 0
вот пример для стандартного шаблона (default)

Код

defined('_JEXEC') or die;
$array = array();
foreach ($list as $item) $array[] = array("cat" => $item->catid, "data" => $item);

  usort($array, "compare"); // Вызываем пользовательскую сортировку
  function compare ($v1, $v2) {
    /* Сравниваем значение по ключу cat */
    if ($v1["cat"] == $v2["cat"]) return 0;
    return ($v1["cat"] < $v2["cat"])? -1: 1;
  }

?>

<div class="newsflash<?php echo $moduleclass_sfx; ?>">
<?php foreach ($array as $it) : ?>
<?php
$item=$it[data];
//var_dump($item);
require JModuleHelper::getLayoutPath('mod_articles_news', '_item'); ?>
<?php endforeach; ?>
</div>
Ты волшебник! Спасибо! Работает так, как нужно! :D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Какой файл управляет выводом страницы для редактирования материалов с фронта?

Автор alnorton

Ответов: 2
Просмотров: 2838
Последний ответ 23.05.2024, 21:43:41
от alnorton
Модуль вывода похожих материалов с картинками

Автор Besa

Ответов: 3
Просмотров: 4781
Последний ответ 20.04.2023, 20:25:50
от beliyadm
В админке не отображаются стили при редактировании материалов

Автор Аня

Ответов: 0
Просмотров: 1336
Последний ответ 28.11.2022, 15:33:14
от Аня
Вывод материалов блогом с фильтром по меткам

Автор muzzy76

Ответов: 7
Просмотров: 1909
Последний ответ 06.10.2022, 13:57:56
от muzzy76
Добавление поля в категорию материалов - Yootheme Pro

Автор Missile

Ответов: 3
Просмотров: 1186
Последний ответ 14.04.2021, 02:20:20
от Alex Revo