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

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Долго думал куда отпостить... решил сюда - формально подходит.

Если мне память не изменяет, то производители раньше присутствовали в главном меню ЖШ. Потом по каким то причинам их засунули в опции и возвращать обратно не желают. Гора не идёт к магомету - выходим навстречу! Собственно добавить производителей в основное меню - не вопрос: добавляем в administrator/components/com_jshoppinf/functions.php в функцию addSubmenu($vName) строчку
Код
 $menu['manufacturers'] = array(_JSHOP_MENU_MANUFACTURERS, 'index.php?option=com_jshopping&controller=manufacturers', $vName == 'manufacturers', 1);
- появляется пункт "Производители". Но, вместе с таблицей производителей появляется и субменю "Опций". Долго рыл код, но так и не нашёл, как от него избавиться. Подскажите, как показать производителей из основного меню без субменю опцый?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Удалить displaySubmenuOptions(); из файла /administrator/components/com_jshopping/views/manufacturer/tmpl/list.php
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Спасибо, заработало! )
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
А почему при переходе в производители по прежнему подсвечиваются "Опции"? Как сделать, чтобы новый пункт "Производители" в основном меню подсвечивался?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
В контроллере производителя, в функции __construct есть что-то типа addSubMenu("other")
Замените other на manufacturers
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Благодарю! Теперь совсем хорошо стало. )
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Несмотря на то, что стало совсем хорошо, душа продолжает просить улучшений... ) Можно в производителях, как и в категориях вывести кол-во товаров относящихся к данному производителю?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Конечно можно. Если не ошибаюсь надо вызвать функцию $JTableProduct->getAllProducts(array('manufacturer_id' => $id)); для каждого производителя в списке.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
А технически возможно всё это оформить в виде аддона/плагина, чтобы не править заново после каждого обновления?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Почти...
Вывести меню не проблема.
А вот сделать чтобы выделялся именно "Производители" и количество товаров для каждого - Нельзя.
По крайней мере не в виде плагина.
Можно создать свой дочерний контроллер и вывести в меню именно его. А в нем уже подправить всё что нужно... При этом так как он будет являться дочерним, то весь остальной функционал будет меняться, если в версии что-то изменится
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
А вот сделать чтобы выделялся именно "Производители" и количество товаров для каждого - Нельзя.
По крайней мере не в виде плагина.

Плагином группы jshoppingmenu - можно модифицировать меню и субменю.
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
« Последнее редактирование: 11.04.2013, 14:20:50 от jorevo »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Плагином группы jshoppingmenu - можно модифицировать меню и субменю.
Ну как я и сказал

Почти...
Вывести меню не проблема.
А вот выделение этого пункта и запрос всех производителей прописаны в контроллере, и там нет ни одного триггера.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Код
function addSubmenu($vName){
...
$dispatcher->trigger( 'onBeforeAdminMenuDisplay', array(&$menu, &$vName) );
...

Здесь можно назначить дополнительную проверку условий и модификацию как самого меню, так и активного пункта в зависимости от условий.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
SDKiller, вижу мы друг друга не понимаем.
Я говорю - Меню вывести не проблема. Вы только что показали где и как это можно сделать. Тут мы солидарны.
Но сделать его активным - невозможно без правки контроллера производителей.
Итак допустим мы вывели меню "Производители" в плагине.
Код
function onBeforeAdminMenuDisplay(&$menu, &$vName){
    $menu['manufacturers'] = array(_JSHOP_MENU_MANUFACTURERS, 'index.php?option=com_jshopping&controller=manufacturers', $vName == 'manufacturers', 1);
}
Открываем этот пункт меню. У нас загружается контроллер JshoppingControllerManufacturers
У него в конструкторе прописано следующее:
Код
function __construct( $config = array() ){
    ...
    addSubmenu("other");
}
Это значит что выделен будет пункт меню "Опции"
И никаким плагином это не изменить...
Есть триггер конечно в display(), но если там прописать addSubmenu("manufacturers");, то просто добавится еще меню с выделенным пунктом "Производители"
Вывод: Плагином сделать выделение добавленного пункта меню - невозможно.
Можно добавить свой дочерний контроллер и добавить пункт меню именно на него и в нем переписать только конструкцию. И тогда обновления компонента не страшны.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
SDKiller, вижу мы друг друга не понимаем.

Да уж, определённо не понимаем

Код
    public function onBeforeAdminMenuDisplay(&$menu, &$vName)
    {
        $menu['manufacturers'] = array(_JSHOP_MANUFACTURERS,
            'index.php?option=com_jshopping&controller=manufacturers', $vName == 'manufacturers', 1);

        if ($vName == 'other') {
            $controller = JFactory::getApplication()->input->get('controller');
            if ($controller == 'manufacturers') {
                $menu['other'][2] = false;
                $menu['manufacturers'][2] = true;
                $vName = 'manufacturers';
            }
        }
    }

« Последнее редактирование: 13.04.2013, 16:15:49 от SDKiller »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Признаю́. Не сообразил. Надо организовать себе отпуск.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Наталья32

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
А как сделать "производители" не списком, а что бы можно было выбрать нажав на стрелку
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Код
    public function onBeforeAdminMenuDisplay(&$menu, &$vName)
    {
        $menu['manufacturers'] = array(_JSHOP_MANUFACTURERS,
            'index.php?option=com_jshopping&controller=manufacturers', $vName == 'manufacturers', 1);

        if ($vName == 'other') {
            $controller = JFactory::getApplication()->input->get('controller');
            if ($controller == 'manufacturers') {
                $menu['other'][2] = false;
                $menu['manufacturers'][2] = true;
                $vName = 'manufacturers';
            }
        }
    }

Это, я так понимаю, практически готовый код для плагина? А не будет сильно большой наглостью попросить оформить его до конца, в качестве, так сказать наглядного примера? И уж совсем было бы замечательно понять, как добавить пункт "Производители" не в конец меню, а между Категориями и Товарами.

ЗЫ. А тем же плагином убрать Производителей из Опций можно?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
А не будет сильно большой наглостью попросить оформить его до конца, в качестве, так сказать наглядного примера?

В качестве готового примера вы можете посмотреть у себя мой плагин

plugins\jshoppingmenu\xtjaddons

Цитировать
ЗЫ. А тем же плагином убрать Производителей из Опций можно?

Можно - это же массив, можно unset какого-либо элемента сделать.
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Ага, спасибо!

ЗЫ. А как Производителей воткнуть не в конец меню, а куда нужно?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Пересортировать массив
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Меню в мобильной версии

Автор Rebarun

Ответов: 1
Просмотров: 3173
Последний ответ 07.07.2021, 07:47:08
от nevigen
Мобильное меню

Автор Rebarun

Ответов: 0
Просмотров: 1278
Последний ответ 16.08.2020, 21:25:35
от Rebarun
Открытие меню

Автор Rebarun

Ответов: 9
Просмотров: 3439
Последний ответ 02.08.2020, 21:43:44
от sivers
JS4.18.4/Joomla3.9.19 меню Список товаров не видит product.php в шаблоне

Автор tigra-uki

Ответов: 11
Просмотров: 1266
Последний ответ 13.06.2020, 19:44:10
от draff
Вертикальное меню товаров для мобильной версии сворачивающийся в трей

Автор bakyt

Ответов: 17
Просмотров: 1321
Последний ответ 20.12.2019, 15:56:31
от nevigen