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

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Добрый день. Создаю категорию (используя 3 таблицы: virtuemart_categories, virtuemart_categories_ru_ru, virtuemart_category_categories):

Код
 $categories = mysql_query ( "INSERT INTO `vsk`.`vsk_virtuemart_categories` (`virtuemart_category_id`, `virtuemart_vendor_id`, `category_template`, `category_layout`, `category_product_layout`, `products_per_row`, `limit_list_step`, `limit_list_initial`, `hits`, `metarobot`, `metaauthor`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES ('100001', '1', '0', '0', '0', '0', '0', '0', '0', '', '', '2', '0', '0', '$dt', '446', '$dt', '446', '0000-00-00 00:00:00', '0') ");
 $categories_ru_ru = mysql_query ( "INSERT INTO `vsk`.`vsk_virtuemart_categories_ru_ru` (`virtuemart_category_id`, `category_name`, `category_description`, `metadesc`, `metakey`, `customtitle`, `slug`) VALUES ('100001', 'b', '', '', '', '', 'b') ");
 $category_categories = mysql_query ( " INSERT INTO `vsk`.`vsk_virtuemart_category_categories` (`id`, `category_parent_id`, `category_child_id`, `ordering`) VALUES ('100001', '0', '100001', '0') ");

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

А при удалении:
Код
mysql_query ("TRUNCATE TABLE  `vsk_virtuemart_categories`");
mysql_query ("TRUNCATE TABLE  `vsk_virtuemart_categories_ru_ru`");
mysql_query ("TRUNCATE TABLE  `vsk_virtuemart_category_categories`");


Происходит обратное: В панели управления категории удаляются, а на сайте остаются. И как только я создаю через панель управления еще одну (третью) категорию то все нормально: в панели управления одна категория и на сайте одна. Ножет кто сталкивался с такой проблемой? Как я понимаю в каком то файле php создается "что-то" что запоминает категории выводимые на сайте.

И еще вопрос можно как-то (с помощью браузера или как-то еще: просмотр кода) посмотреть какие команды выполняются,  когда нажимаешь на кнопку на сайте, к каким файлам она обращается, какие запрос в БД делает?



Joomla! 2.5.20 VirtueMart 2.6.6
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Создание и удаление категорий
« Ответ #1 : 01.07.2014, 09:11:57 »
что вам мешает делать более грамотно, используя функции шаблонов проектирования для работой с базой данных?
Код
$db =& JFactory::getDBO();

$sql = "INSERT INTO `vsk`.`vsk_virtuemart_categories` (`virtuemart_category_id`, `virtuemart_vendor_id`, `category_template`, `category_layout`, `category_product_layout`, `products_per_row`, `limit_list_step`, `limit_list_initial`, `hits`, `metarobot`, `metaauthor`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES ('100001', '1', '0', '0', '0', '0', '0', '0', '0', '', '', '2', '0', '0', '$dt', '446', '$dt', '446', '0000-00-00 00:00:00', '0')";
$db->setQuery($sql);
$db->query();


по такой схеме

какой результат будет?
*

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Создание и удаление категорий
« Ответ #2 : 03.07.2014, 22:18:05 »
что вам мешает делать более грамотно, используя функции шаблонов проектирования для работой с базой данных?
Код
$db =& JFactory::getDBO();

$sql = "INSERT INTO `vsk`.`vsk_virtuemart_categories` (`virtuemart_category_id`, `virtuemart_vendor_id`, `category_template`, `category_layout`, `category_product_layout`, `products_per_row`, `limit_list_step`, `limit_list_initial`, `hits`, `metarobot`, `metaauthor`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES ('100001', '1', '0', '0', '0', '0', '0', '0', '0', '', '', '2', '0', '0', '$dt', '446', '$dt', '446', '0000-00-00 00:00:00', '0')";
$db->setQuery($sql);
$db->query();


по такой схеме

какой результат будет?

попробовал:

Fatal error: Class 'JFactory' not found in Z:\home\192.168.1.240\www\csv-mysql\artserge.php on line 2


в Google все про какой-то framework пишут.
*

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Создание и удаление категорий
« Ответ #3 : 03.07.2014, 22:45:12 »
Разобрался. Сделал так:
Код
// Joomla.php
define( '_JEXEC', 1 );

define('JPATH_BASE', dirname(__FILE__) );

define( 'DS', DIRECTORY_SEPARATOR );

require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

jimport('joomla.user.helper');

$mainframe =& JFactory::getApplication('site');

Код
//artserge.php
require_once dirname(__FILE__)."/joomla.php";
$db =& JFactory::getDBO();

$sql = "INSERT INTO `vsk`.`vsk_virtuemart_categories` (`virtuemart_category_id`, `virtuemart_vendor_id`, `category_template`, `category_layout`, `category_product_layout`, `products_per_row`, `limit_list_step`, `limit_list_initial`, `hits`, `metarobot`, `metaauthor`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES ('100001', '1', '0', '0', '0', '0', '0', '0', '0', '', '', '2', '0', '0', '$dt', '446', '$dt', '446', '0000-00-00 00:00:00', '0')";
$db->setQuery($sql);
$db->query();
$sql2 = "INSERT INTO `vsk`.`vsk_virtuemart_categories_ru_ru` (`virtuemart_category_id`, `category_name`, `category_description`, `metadesc`, `metakey`, `customtitle`, `slug`) VALUES ('100001', 'b', '', '', '', '', 'b')";
$db->setQuery($sql2);
$db->query();
$sql3 = " INSERT INTO `vsk`.`vsk_virtuemart_category_categories` (`id`, `category_parent_id`, `category_child_id`, `ordering`) VALUES ('100001', '0', '100001', '0')";
$db->setQuery($sql3);
$db->query();

Но опять же с базе данных все создалось, в панели управления категорию видно, а на сайте нет.
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Создание и удаление категорий
« Ответ #4 : 04.07.2014, 02:10:25 »
Проверьте значение переменной published, надо 1 а не null или пусто
*

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Создание и удаление категорий
« Ответ #5 : 04.07.2014, 10:33:37 »
Проверьте значение переменной published, надо 1 а не null или пусто
я понял про что Вы, но даже если я published делаю 1 или сам в панели управления публикую этот в панели управления. то все равно не показывает категорию.
*

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Создание и удаление категорий
« Ответ #6 : 05.07.2014, 18:23:35 »
Может кто подскажет, таблица _update_categories может она обновляет категории?
*

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Создание и удаление категорий
« Ответ #7 : 11.07.2014, 07:42:43 »
Неужели никто не добавлял категории и товар через запросы в БД?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание и удаление категорий
« Ответ #8 : 11.07.2014, 10:07:38 »
Если вы разбираетесь в PHP, то посмотрите алгоритм создания категории через админку. Скорее всего, вы пропустили какую-то привязку.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание и удаление категорий
« Ответ #9 : 11.07.2014, 10:29:31 »
И еще вопрос можно как-то (с помощью браузера или как-то еще: просмотр кода) посмотреть какие команды выполняются,  когда нажимаешь на кнопку на сайте, к каким файлам она обращается, какие запрос в БД делает?
Установите какой-нибудь debugging tool. Их много, я пользуюсь phpEd.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Создание и удаление категорий
« Ответ #10 : 11.07.2014, 15:25:01 »
Цитировать
алгоритм создания категории через админку
Ну вот я и не знаю как его посмотреть :(

Спасибо за советы!
« Последнее редактирование: 11.07.2014, 15:46:39 от Великий Партизан »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Создание и удаление категорий
« Ответ #11 : 11.07.2014, 16:54:14 »
Ну вот я и не знаю как его посмотреть :(
Открываем точку входа admin.virtuemart.php, смотрим
Код: php-brief
if($_controller = JRequest::getWord('view', JRequest::getWord('controller', 'virtuemart'))) {
далее
Код: php-brief
// Create the controller
$_class = 'VirtueMartController'.ucfirst($_controller);
$controller = new $_class();

// Perform the Request task
$controller->execute(JRequest::getWord('task', $_controller));
Все понятно.
Входим в админку VM>Категории, смотрим в адресной строке и видим
Код: php-brief
view=category
Хорошо, значит нам нужен контроллер category.
Далее, жмем "Создать" и смотрим исходный код кнопки "Сохранить и закрыть"
Код: php-brief
onclick="Joomla.submitbutton('save')"
Понятно, task=save.
Открываем контроллер и изучаем
Код: php-brief
function save($data = 0)
Не будь паразитом, сделай что-нибудь самостоятельно!
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Создание и удаление категорий
« Ответ #12 : 11.07.2014, 16:54:34 »
Только что сделал так:

Код
INSERT INTO `d3sbu_virtuemart_categories` (`virtuemart_category_id`, `virtuemart_vendor_id`, `category_template`, `category_layout`, `category_product_layout`, `products_per_row`, `limit_list_step`, `limit_list_initial`, `hits`, `metarobot`, `metaauthor`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES
(1000, 1, 'default', '0', '0', 3, NULL, NULL, 0, '', '', 0, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0);


INSERT INTO `d3sbu_virtuemart_categories_ru_ru` (`virtuemart_category_id`, `category_name`, `category_description`, `metadesc`, `metakey`, `customtitle`, `slug`) VALUES
( 1000, 'Тестовая категория', '', '', '', '', 'testovaya-kategoriya');

INSERT INTO `d3sbu_virtuemart_category_categories` (`category_parent_id`, `category_child_id`, `ordering`) VALUES (0, 1000, 0);

Запросы выполнил в phpMyAdmin. На сайте и в админке категория появилась. Обращаю ваше внимание - в третьем запросе при вставке в таблицу #__virtuemart_category_categories поле id (первое) указывать не надо - его база сгенерирует самостоятельно. Смотрите синтаксис у меня.
*

Великий Партизан

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Создание и удаление категорий
« Ответ #13 : 12.07.2014, 10:14:06 »
Только что сделал так:

Код
INSERT INTO `d3sbu_virtuemart_categories` (`virtuemart_category_id`, `virtuemart_vendor_id`, `category_template`, `category_layout`, `category_product_layout`, `products_per_row`, `limit_list_step`, `limit_list_initial`, `hits`, `metarobot`, `metaauthor`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES
(1000, 1, 'default', '0', '0', 3, NULL, NULL, 0, '', '', 0, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0);


INSERT INTO `d3sbu_virtuemart_categories_ru_ru` (`virtuemart_category_id`, `category_name`, `category_description`, `metadesc`, `metakey`, `customtitle`, `slug`) VALUES
( 1000, 'Тестовая категория', '', '', '', '', 'testovaya-kategoriya');

INSERT INTO `d3sbu_virtuemart_category_categories` (`category_parent_id`, `category_child_id`, `ordering`) VALUES (0, 1000, 0);

Запросы выполнил в phpMyAdmin. На сайте и в админке категория появилась. Обращаю ваше внимание - в третьем запросе при вставке в таблицу #__virtuemart_category_categories поле id (первое) указывать не надо - его база сгенерирует самостоятельно. Смотрите синтаксис у меня.


Сделал все как у вас:
Код
<?php
require_once dirname(__FILE__)."/joomla.php";
$db =& JFactory::getDBO();

$sql = "INSERT INTO `vsk`. `vsk_virtuemart_categories` (`virtuemart_category_id`, `virtuemart_vendor_id`, `category_template`, `category_layout`, `category_product_layout`, `products_per_row`, `limit_list_step`, `limit_list_initial`, `hits`, `metarobot`, `metaauthor`, `ordering`, `shared`, `published`, `created_on`, `created_by`, `modified_on`, `modified_by`, `locked_on`, `locked_by`) VALUES
(1000, 1, 'default', '0', '0', 3, NULL, NULL, 0, '', '', 0, 0, 1, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0, '0000-00-00 00:00:00', 0)";
$db->setQuery($sql);
$db->query();
$sql2 = "INSERT INTO `vsk`. `vsk_virtuemart_categories_ru_ru` (`virtuemart_category_id`, `category_name`, `category_description`, `metadesc`, `metakey`, `customtitle`, `slug`) VALUES
( 1000, 'Тестовая категория', '', '', '', '', 'testovaya-kategoriya')";
$db->setQuery($sql2);
$db->query();
$sql3 = "INSERT INTO `vsk`. `vsk_virtuemart_category_categories` (`category_parent_id`, `category_child_id`, `ordering`) VALUES (0, 1000, 0)";
$db->setQuery($sql3);
$db->query();
?>

Результат тот же: в панели управления категория появилась. на сайте нет. как только руками добавил еще одну категорию сразу обе появились.
artserge, а подскажите если ты очистите таблицы, категории на сайте у вас удаляться?
Код
mysql_query ("TRUNCATE TABLE  `vsk_virtuemart_categories`");
mysql_query ("TRUNCATE TABLE  `vsk_virtuemart_categories_ru_ru`");
mysql_query ("TRUNCATE TABLE  `vsk_virtuemart_category_categories`");

robert, извините за тупые вопросы:
Цитировать
Открываем точку входа admin.virtuemart.php, смотрим
Как это "Открываем точку входа"?
« Последнее редактирование: 12.07.2014, 10:39:31 от Великий Партизан »
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Создание и удаление категорий
« Ответ #14 : 12.07.2014, 13:52:15 »
Великий Партизан, разумеется - удаляются... выполнил ваш код, подправив префикс таблиц - добавилась еще одна категория во фронтенд и бэкенд
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не могу сохранить порядок категорий в VirtueMart 3.9.8 и 4

Автор Egoritch

Ответов: 0
Просмотров: 3809
Последний ответ 26.05.2022, 12:30:59
от Egoritch
После обновления VirtueMart сбивается настроенный порядок категорий

Автор Slava77

Ответов: 2
Просмотров: 1536
Последний ответ 09.09.2021, 09:13:43
от Slava77
Ошибка при экспорте категорий

Автор tmpnikl

Ответов: 3
Просмотров: 1274
Последний ответ 06.05.2021, 13:36:08
от tmpnikl
Возможно ли создание магазина контента на VirtueMart

Автор friend111

Ответов: 0
Просмотров: 834
Последний ответ 06.01.2021, 22:41:42
от friend111
Дублируются страницы карточке товара и категорий

Автор djed9

Ответов: 3
Просмотров: 1145
Последний ответ 28.09.2020, 05:43:57
от rsn