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

dmayak

  • Захожу иногда
  • 80
  • 5 / 0
Конкретно интересуют настройки количества товаров в ряду и на странице для  бестселлеров, случайных продуктов, последних продуктов и т.п. Видно, что это храниться в базе в _jshopping_config, но в /administrator/components/com_jshopping/controllers/config.php я вижу только сохранение количества для всех категорий:
Код
if ($tab==6 && $post['update_count_prod_rows_all_cats']){
            $count_products_to_page = intval($post['count_products_to_page']);
            $count_products_to_row = intval($post['count_products_to_row']);
            $query = "update `#__jshopping_categories` set `products_page`='".$count_products_to_page."', `products_row`='".$count_products_to_row."'";
            $db->setQuery($query);
            $db->query();
            $query = "update `#__jshopping_manufacturers` set `products_page`='".$count_products_to_page."', `products_row`='".$count_products_to_row."'";
            $db->setQuery($query);
            $db->query();
        }

и сохранение остальных параметров:
Код
$array = array('show_buy_in_category','show_tax_in_product','show_tax_product_in_cart','show_plus_shipping_in_product','hide_product_not_avaible_stock','hide_buy_not_avaible_stock','show_sort_product','show_count_select_products','show_delivery_time','demo_type','product_show_manufacturer_logo','product_show_weight',
                       'product_attribut_first_value_empty', 'show_hits', 'allow_reviews_prod', 'allow_reviews_only_registered','hide_text_product_not_available','use_plugin_content', 'product_list_show_weight', 'product_list_show_manufacturer','show_product_code','product_list_show_min_price', 'show_product_list_filters',
                       'product_list_show_vendor','product_show_vendor','product_show_vendor_detail','product_show_button_back','product_list_show_product_code','radio_attr_value_vertical','attr_display_addprice','product_list_show_price_description','display_button_print','product_list_show_price_default');
        if ($tab == 6){
            foreach ($array as $key => $value) {
                if (!isset($post[$value])) $post[$value] = 0;
            }
            $result = array();
            if ($jshopConfig->other_config!=''){
                $result = unserialize($jshopConfig->other_config);
            }
            include($jshopConfig->path.'lib/default_config.php');
            foreach($catprod_other_config as $k){
                $result[$k] = $post[$k];
            }
            $post['other_config'] = serialize($result);
        }
Мне это нужно для того чтобы я добавил к ним дополнительное поле для общего количества товаров - добавил для бестселлеров и последних товаров пагинацию, но общее количество пока захардкожено, нужно сделать редактирование его из админки. Можно конечно просто создать дополнительную колонку в таблице и там же его отдельно выдергивать и писать в базу, но хотелось бы это делать вместе с остальными параметрами чтобы все вместе было.
*

dmayak

  • Захожу иногда
  • 80
  • 5 / 0
Разобрался, правда перед этим уже просто добавил отдельные поля в базу. Как работает:
Код
include($jshopConfig->path.'lib/default_config.php');
добавляет указанный файл с дефолтными настройками, там есть массив:
Код
$catprod_other_config = array('count_products_to_page_tophits','count_products_to_page_toprating','count_products_to_page_label','count_products_to_page_bestseller','count_products_to_page_random','count_products_to_page_last','count_products_to_row_tophits','count_products_to_row_toprating','count_products_to_row_label','count_products_to_row_bestseller','count_products_to_row_random','count_products_to_row_last','display_short_descr_multiline');
Ну а дальше обратно в контроллере формируется список содержимого из поста по ключам из данного массива
Код
foreach($catprod_other_config as $k){
                $result[$k] = $post[$k];
            }
и все это подготавливается для записи в базу
Код
$post['other_config'] = serialize($result);
*

alex-ustas

  • Захожу иногда
  • 126
  • 3 / 1
 ;) в блокнот самое главное запиши! и скрин сделай! А то вдруг придёт время обновлений ...  и всё станет колом, сиди и вспоминай, что где и как правил
_____________________________________________________________________________________________________________________________________________
сам прокололся на +SMS  ^-^
*

dmayak

  • Захожу иногда
  • 80
  • 5 / 0
Как правило, компоненты никто не обновляет, поскольку взламывают в основном тех кто сидит на старых Joomlaх а не на старых компонентах (ну а до того как взломают никто и не думает об этом), а в таком случае все равно многое нужно делать по новой.
Я в данном случае не правил в админке контроллер) Я разобрался как это работает уже позже, а для того чтобы в конфиге работало любое поле, достаточно только:
1. создать в темплейте внутри формы новое поле с определенным именем
2. создать в бд поле с таким же именем
и все,  поскольку все идет через один пост-запрос, из которого конфигурация пишется в базу. Потом можно её подтягивать в контроллерах компонента.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 26
Просмотров: 39151
Последний ответ 14.10.2025, 12:54:56
от sergeytolkachyov
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 4056
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 2516
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav
Плагин обновления цен и остатков товаров JoomShopping из CSV

Автор sergeytolkachyov

Ответов: 0
Просмотров: 2675
Последний ответ 24.12.2024, 14:50:42
от sergeytolkachyov
Сортировка товаров в админке

Автор Emotion

Ответов: 26
Просмотров: 7429
Последний ответ 15.08.2024, 08:00:20
от kit2m2