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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Коллеги, вот такой дурной вопрос по шаблонизации материала\объекта.
К примеру есть блог материалов, в одном итеме отображаются: заголовок, картинка, текст. За все это отвечает один шаблон
Есть блог избранных, надо итем отображать аналогично - другой шаблон
Есть модуль последних новостей - третий шаблон
Хочу сделать копию блога материалов но содержимое итема оставить прежним - еще один шаблон.

Как это дело унифицировать? В некоторых собственных местах я просто выбираю в цикле нужные мне ID материалов\объектов и отдаю свою функцию, где она по ID выбирает нужные строки и делает нужную верстку.

Но в случае с стандартными шаблонами так не выйдет. Тот же модуль последних материалов - подключает всю модель контента, когда в цикле я по ID материала обращусь к своей функции - двойная работа, двойная нагрузка на базу.
И так далее.

Вопрос в чем - никто не задавался вопросом, как в стандартном контенте сделать возможность шаблонизации откуда угодно (модуль, компонент, плагин) по одному единственному шаблону без размножения сущностей?
Переписывать все стандартные шаблоны (модели компонентов) и модули?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
В общем даже не знаю, зачем я столько времени тупил, ведь решение простое. Может кому и пригодится.
Итак, у нас есть шаблоны блога материалов, блога избранных материалов, пара модулей выводящих материалы. Нам нужно сделать у них одинаковый вывод блока материала. Пример в спойлере (хиты это блог избранных материалов, новые поступления - модуль последних). Писать каждый раз разметку и в случае изменений менять в трех местах нам не надо.
Спойлер
[свернуть]

Пишем свою функцию function product_item($prod) в которой делаем всю нужную разметку.
На уровне вывода блога и хелпера модуля инклюдим файл с функцией и выводим ее в соответствующих файлах
\html\com_content\featured\default_item.php
\html\com_content\category\blog_item.php
\html\mod_articles_latest\default.php

В принимаемый параметр $prod функции передаем объект $this->item. Если нам нужны еще и условия из настроек меню - всегда можем добавить в функцию прием объекта параметров $params
Все, шаблонов и модулей много, разметка везде одна. Единственное но - в передаваемом объекте везде должны содержаться соответствующие принимаемые на уровне функции значения.
Решение простое как валенок, правду говорят что горе от ума, если же его нет все еще хуже.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться