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

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Добрый день.  Прошу прощение за ломанный язык :)  просто в терминалогии плаваю....

Сейчас пытаюсь разобраться  с написанием модулей для JS.
Возник некий вопрос :)

Как можно получить так сказать "доступ" к файлам в етом каталоге  ...\components\com_jshopping\tables\....

Попробовал таким образом:
          $test=JSFactory::getTable('attributvalue.php', 'jshop');

Сайт выдаёт ошибку:
Таблица attributvalue.php не поддерживается. Файл не найден.

В модулях вообше возможно ссылаться на те файлы ??  , там запросы к БД уже прописаны,
Кроме как через етот класс:        Но там мало доступных, для обработки
         $get_all_attr=JSFactory::getAllAttributes($resformat = 1);   

Или писать в своём модуле свои запросы.

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Создание модуля, подключение getTable
« Ответ #1 : 21.05.2015, 14:49:48 »
сделайте JTable::addIncludePath(JPATH_COMPONENT_SITE.'/tables'); до JSFactory::getTable
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Создание модуля, подключение getTable
« Ответ #2 : 21.05.2015, 14:56:00 »
Делал, у меня так и прописано :(

JTable::addIncludePath(JPATH_ROOT.'/components/com_jshopping/tables');      // Работа с таблицами JoomShoping   

Или там надо прописывать определённый файл ? :
JTable::addIncludePath(JPATH_ROOT.'/components/com_jshopping/tables/attributvalue.php');      // Работа с таблицами JoomShoping
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Создание модуля, подключение getTable
« Ответ #3 : 21.05.2015, 15:11:44 »
Попробовал вывести что храниться в той ерунде:

$tttttttttt=   JTable::addIncludePath(JPATH_ROOT.'/components/com_jshopping/tables');      // Работа с таблицами JoomShoping   
      echo'<pre>***********************************';
      print_r ($tttttttttt);
      echo'</pre>***********************************';

Дало такой массив :)
array
(
    
  • => сайт/administrator/components/com_jshopping/table
  • [1] => сайт/com_jshopping/tables
        [2] => сайт/components/com_jshopping/tables
        [3] => сайт/libraries/joomla/table
    )

« Последнее редактирование: 21.05.2015, 15:18:56 от avantyrist »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Создание модуля, подключение getTable
« Ответ #4 : 21.05.2015, 16:03:24 »
тьфу ты, слепой становлюсь. не увидел сразу лишнее

          $test=JSFactory::getTable('attributvalue.php', 'jshop');

Или там надо прописывать определённый файл ? :

нет, каталог
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Создание модуля, подключение getTable
« Ответ #5 : 21.05.2015, 16:27:18 »
Таки да :) то лишнее.

Но чёто мои ожидания были другие :))

   $test=JSFactory::getTable('attributvalue', 'jshop');
      echo'<pre>********************';
      print_r($test);
      echo'</pre>**************';

Там такое вывело, я чуток в шоке был.....   :o

'attributvalue'  --  ето название файла в папке '/components/com_jshopping/tables  ?
, 'jshop'    --  что ето за параметр ?

Как можно обратиться к определённой функции файла attributvalue.php  ?  например       function getAllAttributeValues(){
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Создание модуля, подключение getTable
« Ответ #6 : 21.05.2015, 16:34:50 »
как к методу объекта обращаются, так и обратится - $test->getAllAttributeValues(). доступные методы вы уже поняли где смотреть. плюс поскольку это расширение класса, то $test также наследует и все методы, которые есть у родителя. например, jshopAttributValue является потомком JTableAvto, и хотя у jshopAttributValue например нет (переопределенного) метода getBuildQueryListProductDefaultResult(), вы тем не менее можете вызвать его $test->getBuildQueryListProductDefaultResult(), потому что он есть у родителя. а JTableAvto в свою очередь является наследником JTable. в общем, вам надо по крайней мере изучить ООП, если хотите продвинуться дальше. а потом изучить уже классы Joomla
« Последнее редактирование: 21.05.2015, 16:38:26 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Создание модуля, подключение getTable
« Ответ #7 : 21.05.2015, 16:44:02 »
dmitry_stas

Код
JTable::addIncludePath(JPATH_ROOT.'/components/com_jshopping/tables');		// Работа с таблицами JoomShoping
$testAttr=JSFactory::getTable('attributvalue', 'jshop');
$testAttr->getAllAttributeValues();
echo'<pre>********************';
print_r($testAttr);
echo'</pre>**************';

Дело в том что я так и делал, чёто сразу пример не написал

Но оно выводит там всё подрят, такой масивчег получается что мама не горюй.....
Я щас читаю очень много всего, и от етого всего винигрет получился в голове ужасный, начинаеш тыкаться кудато, ступор, потом опять ступор, какието мелочи, на которые в итоге тратиш уйму времени, каша >:(
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Создание модуля, подключение getTable
« Ответ #8 : 21.05.2015, 16:50:59 »
чем я то могу помочь? если вам будет от этого легче, то не вы один такой. у всех когда то была в голове каша и винегрет. изучайте, литературы масса, все общедоступно. и как правило бесплатно, не то что раньше. я в свое время ActionScript флешевский учил по книге, за которую отдал 120 баксов. а сейчас - их два вагончика в интернете на любой вкус. так что через тернии к звездам :) ну а нет - то всегда есть ком. раздел.

Но оно выводит там всё подрят, такой масивчег получается что мама не горюй.....

а что вы ожидаете увидеть, делая print_r($testAttr)? что присвоили этой переменной - то и выводит.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Создание модуля, подключение getTable
« Ответ #9 : 21.05.2015, 17:01:33 »
честно думал увижу результат запроса к БД :))
Наподобии того как выходит результат  через Класс,  JSFactory

$characteristic_3= JSFactory::getAllProductExtraFieldValueDetail();   // Выводит масив всех названий опций характеристик

КомРаздел, ето понятно, меня интерисует, не сделанное кемто решение, меня интерисует КАК ето сделать :) хочется понять, научиться
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Создание модуля, подключение getTable
« Ответ #10 : 21.05.2015, 17:13:57 »
ОЙ ТУПАНУЛ ОПЯТЬ :)

   $testAttr=JSFactory::getTable('attributvalue', 'jshop');
   $testAttrList =$testAttr->getAllAttributeValues();
         echo'<pre>********************';
         print_r($testAttrList);
      echo'</pre>**************';

Усё теперь получаю конкретный результат запроса к БД :)

dmitry_stas  подскажите пожалуйста:
Допустим если меня устраивают результаты Етих запросов,  при писании модуля, лучше использовать такой метод, в плане нагрузки на сайт? -- который выше описан.


Либо лучше создавать допустим некий файл  helper.php   в нём создать некий клас JSTest, с функцией getTestTraliVali там делать нужные запросы в БД,
и потом в основном файле модуля подключать таким макаром:
    require_once (JPATH_SITE.'/modules/mod_test/helper/helper.php');

    $trali_vali = JSTest::getTestTraliVali();   // в итоге получаю доступ к Результирующему масиву
« Последнее редактирование: 21.05.2015, 17:18:24 от avantyrist »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Создание модуля, подключение getTable
« Ответ #11 : 21.05.2015, 19:02:55 »
ну если то, что вам нужно, уже написано, то зачем писать это второй раз? другое дело, что иногда бывает такое, что вроде как нужные методы уже есть, но для получения результата их надо выполнить скажем 3 раза (т.е. 3 запроса в базу), вместо одного, если переписать этот код в своем хелпере. тогда конечно имеет смысл. но если будете принимать такое решение, обратите внимание, что в Joomla вообще, и в ЖШ в частности, очень много случаев, когда метод возвращает static переменную, которая определяется всего 1 раз, независимо от того, сколько раз вы вызываете метод.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

avantyrist

  • Захожу иногда
  • 228
  • 3 / 0
Re: Создание модуля, подключение getTable
« Ответ #12 : 22.05.2015, 10:07:55 »
Благадарю за обсуждение темы
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JoomShopping создание заказа с помощью js

Автор CoolBick

Ответов: 0
Просмотров: 714
Последний ответ 21.02.2022, 22:39:58
от CoolBick
Создание псевдонима товара после импорта товара

Автор worldmen

Ответов: 12
Просмотров: 2192
Последний ответ 01.09.2020, 21:34:40
от dmitry_stas
Шаблоны модуля mod_jsh_categories_and_products

Автор goga_pgasovav

Ответов: 3
Просмотров: 706
Последний ответ 27.07.2020, 19:45:11
от kit2m2
Нужен совет! Проблема c выводом модуля фильтра

Автор Lemonez

Ответов: 4
Просмотров: 870
Последний ответ 28.04.2020, 07:40:34
от draff
Создание html шаблона для отправки на Email

Автор tima

Ответов: 9
Просмотров: 1384
Последний ответ 26.07.2018, 20:24:04
от tima