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

mgwork

  • Новичок
  • 6
  • 0 / 0
Проблема с Widgetkit (Use ZOO)
« : 13.03.2012, 15:01:42 »
При переходе на страницу в Widgetkit -> Accordion -> Use ZOO выдает следующую ошибку:

Notice: Undefined variable: node in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 10

Fatal error: Call to a member function attributes() on a non-object in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 10

в чем может быть причина?
*

-su-

  • Новичок
  • 9
  • 2 / 0
Re: Проблема с Widgetkit (Use ZOO)
« Ответ #1 : 15.03.2012, 08:13:37 »
При переходе на страницу в Widgetkit -> Accordion -> Use ZOO выдает следующую ошибку:

Notice: Undefined variable: node in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 10

Fatal error: Call to a member function attributes() on a non-object in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 10

в чем может быть причина?

Перед // create select добавь код:

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

class JElementFilename extends JElement {

   var   $_name = 'Filename';

   function fetchElement($name, $value, &$node, $control_name) {

      $app = App::getInstance('zoo');

*

mgwork

  • Новичок
  • 6
  • 0 / 0
Re: Проблема с Widgetkit (Use ZOO)
« Ответ #2 : 15.03.2012, 11:36:25 »
Перед // create select добавь код:

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

class JElementFilename extends JElement {

   var   $_name = 'Filename';

   function fetchElement($name, $value, &$node, $control_name) {

      $app = App::getInstance('zoo');



Вставил, как ты сказал, только выдало ошибка насчет незакрытых скобок, поставил две скобки в конец кода, появились ошибки:
Notice: Trying to get property of non-object in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 19

Notice: Undefined property: JElementFilename::$app in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 25

Notice: Trying to get property of non-object in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 25

Fatal error: Call to a member function _() on a non-object in /home/capmag/capmag.ru/docs/plugins/system/widgetkit_zoo/layouts/fields/filename.php on line 25
*

mgwork

  • Новичок
  • 6
  • 0 / 0
Re: Проблема с Widgetkit (Use ZOO)
« Ответ #3 : 15.03.2012, 11:37:18 »
Перед // create select добавь код:

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

class JElementFilename extends JElement {

   var   $_name = 'Filename';

   function fetchElement($name, $value, &$node, $control_name) {

      $app = App::getInstance('zoo');



вот собственно этот код:

<?php
/**
* @package   Widgetkit
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/
// no direct access
defined('_JEXEC') or die('Restricted access');

class JElementFilename extends JElement {

   var   $_name = 'Filename';

   function fetchElement($name, $value, &$node, $control_name) {

      $app = App::getInstance('zoo');
// create select
$path    = dirname(dirname(dirname(__FILE__))).$node->attributes()->path;
$options = array();

if (is_dir($path)) {
   foreach (JFolder::files($path, '^([-_A-Za-z0-9]*)\.php$') as $tmpl) {
      $tmpl = basename($tmpl, '.php');
      $options[] = $this->app->html->_('select.option', $tmpl, ucwords($tmpl));
   }
}
echo $this->app->html->_('select.genericlist', $options, $control_name.'['.$name.']', '', 'value', 'text', $value);
}
}
*

-su-

  • Новичок
  • 9
  • 2 / 0
Re: Проблема с Widgetkit (Use ZOO)
« Ответ #4 : 15.03.2012, 12:23:28 »
Должно быть так:

<?php
/**
* @package   Widgetkit
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

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

class JElementFilename extends JElement {

   var   $_name = 'Filename';

   function fetchElement($name, $value, &$node, $control_name) {

      $app = App::getInstance('zoo');

      // create select
      $path    = dirname(dirname(dirname(__FILE__))).$node->attributes('path');
      $options = array();

      if (is_dir($path)) {
         foreach (JFolder::files($path, '^([-_A-Za-z0-9]*)\.php$') as $tmpl) {
            $tmpl = basename($tmpl, '.php');
            $options[] = JHTML::_('select.option', $tmpl, ucwords($tmpl));
         }
      }

      return $app->html->_('select.genericlist', $options, $control_name.'['.$name.']', '', 'value', 'text', $value);
   }

}
*

mgwork

  • Новичок
  • 6
  • 0 / 0
Re: Проблема с Widgetkit (Use ZOO)
« Ответ #5 : 15.03.2012, 12:38:08 »
Должно быть так:

<?php
/**
* @package   Widgetkit
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

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

class JElementFilename extends JElement {

   var   $_name = 'Filename';

   function fetchElement($name, $value, &$node, $control_name) {

      $app = App::getInstance('zoo');

      // create select
      $path    = dirname(dirname(dirname(__FILE__))).$node->attributes('path');
      $options = array();

      if (is_dir($path)) {
         foreach (JFolder::files($path, '^([-_A-Za-z0-9]*)\.php$') as $tmpl) {
            $tmpl = basename($tmpl, '.php');
            $options[] = JHTML::_('select.option', $tmpl, ucwords($tmpl));
         }
      }

      return $app->html->_('select.genericlist', $options, $control_name.'['.$name.']', '', 'value', 'text', $value);
   }

}
Огромное спасибо за помощь!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с Akeeba Backup

Автор Lemonez

Ответов: 6
Просмотров: 4170
Последний ответ 29.03.2025, 13:06:45
от sivers
Как вывести на страницу в виде картинок как фотогалерею из widgetkit?

Автор chechelnitskiy

Ответов: 0
Просмотров: 2928
Последний ответ 08.05.2024, 13:31:09
от chechelnitskiy
Проблема Slideshow

Автор annetkas

Ответов: 14
Просмотров: 2483
Последний ответ 06.04.2022, 16:34:53
от sivers
Проблема с отображением фона в сафари

Автор Leo1986

Ответов: 1
Просмотров: 1580
Последний ответ 13.02.2022, 12:53:48
от Leo1986
SP Page Builder Pro проблема с плагином обратной связи

Автор abisa

Ответов: 3
Просмотров: 1967
Последний ответ 01.12.2020, 10:24:11
от AlexB