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

saidrustam

  • Захожу иногда
  • 100
  • 7 / 0
в коде есть SQL выборка, и отправка уделомлении на email указанный в обявлении(в этом таблице). А хотелось бы чтобы он брал email из таблицы users при условии(#__adsmanager_ads.id == users.id)
как это оформить? можеть спомощью UNION, но я не силен в sql, помогите ребята

function manage_expiration($option,$plugins){
...
$database->setQuery( "SELECT id,email,ad_headline,userid FROM #__adsmanager_ads WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0");
...
sendEmail($ad,$conf,$option);
*

saidrustam

  • Захожу иногда
  • 100
  • 7 / 0
Вопрос решен, выкладываю решение проблем:

$database->setQuery( "SELECT a.id,j.email,a.ad_headline FROM #__adsmanager_ads AS a, jos_users AS j WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0 AND a.userid = j.id");
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
А в 2.6 никто не знает как такое можно сделать ?
А то если поле Емаил не заполнено, то он не отправляет уведомление в версии 2.6.2
Нашел похожий код в administrator/components/com_adsmanager/models/content.php
Там есть аж несколько штук похожих строк, а вот какая точно и там ли это нужно делать

Может кто знает ?
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
не проще сделать поле Email обязательным для заполнения?
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Я лично не люблю вести переписку, так как это бестолковое занятие, все кто что то писал, то не один еще ничего не купил
Так сидят в офисах заняться нечем, вот и ведут переписку, а те кто хочет что то купить, то всегда звонят
Поэтому не хочу делать обязательное поле для емаил, да еще если делаешь формой, то шаблон перекашивает при отправке
По этой причине у себя в объявлениях емаил не указываю и не делаю его обязательным, раньше вообще выключал это поле, но потом решил, что может кто захочет по переписываться и оставит свой емаил


Сейчас код из второго сообщения вставил в файл туда, где указал путь в своем сообщение и все теперь работает и берет емаил из регистрации пользователя
Для тех кто не включает уведомление на емаил, то их наверное и так все устроит, так как это нужно только для уведомлений
*

beicik

  • Захожу иногда
  • 60
  • 8 / 0
Вопрос решен, выкладываю решение проблем:

$database->setQuery( "SELECT a.id,j.email,a.ad_headline FROM #__adsmanager_ads AS a, jos_users AS j WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0 AND a.userid = j.id");

а можно поподробнее как это сделать?
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
beicik, какая у вас версия ?
Если 2.5, то в файле components/com_adsmanager/adsmanager.php
Находим этот код
Код
$database->setQuery( "SELECT id,email,ad_headline,userid FROM #__adsmanager_ads WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0");
И меняем на этот
Код
$database->setQuery( "SELECT a.id,j.email,a.ad_headline FROM #__adsmanager_ads AS a, jos_users AS j WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0 AND a.userid = j.id");
И все

Если версия 2.6
То ищите код в administrator/components/com_adsmanager/models/content.php
Там он почти такой же
*

beicik

  • Захожу иногда
  • 60
  • 8 / 0
beicik, какая у вас версия ?
Если 2.5, то в файле components/com_adsmanager/adsmanager.php
Находим этот код
Код
$database->setQuery( "SELECT id,email,ad_headline,userid FROM #__adsmanager_ads WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0");
И меняем на этот
Код
$database->setQuery( "SELECT a.id,j.email,a.ad_headline FROM #__adsmanager_ads AS a, jos_users AS j WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0 AND a.userid = j.id");
И все

Если версия 2.6
То ищите код в administrator/components/com_adsmanager/models/content.php
Там он почти такой же
Спасибо
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
А кто подскажет как решить это в AdsManager 2.8.2
Там код отличается
Вот код из 2.8.2
Код
$this->_db->setQuery( "SELECT * FROM #__adsmanager_ads WHERE expiration_date IS NOT NULL AND DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) <= CURDATE() AND recall_mail_sent = 0 AND published = 1");
Нужно заменить на этот
Код
$this->_db->setQuery( "SELECT a.id,j.email,a.ad_headline FROM #__adsmanager_ads AS a, jos_users AS j WHERE DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) < CURDATE() AND recall_mail_sent = 0 AND a.userid = j.id");

Может кто подскажет ?
Думал сделать так
Код
$this->_db->setQuery( "SELECT * FROM #__adsmanager_ads WHERE expiration_date IS NOT NULL AND DATE_SUB(expiration_date, INTERVAL ".$conf->recall_time." DAY) <= CURDATE() AND recall_mail_sent = 0 AND a.userid = j.id AND published = 1");
Только не знаю на сколько это правильно будет и будет ли вообще работать
Или можно смело менять код и все будет нормуль ?
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Попробовал поставил старый код, не работает...
Как же такое можно сделать в 2.8, все перепробовал и нечего не вышло ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать сортировку объявдений в AdsManager

Автор Olegarh

Ответов: 9
Просмотров: 16107
Последний ответ 03.06.2018, 22:59:57
от Sabotage
AdsManager - как сделать несколько адресов?

Автор Ksenia2009

Ответов: 0
Просмотров: 11871
Последний ответ 21.04.2018, 15:13:44
от Ksenia2009
Как сделать drop down меню на странице объявлений Contents List в AdsManager?

Автор fadsergc

Ответов: 0
Просмотров: 1671
Последний ответ 13.03.2017, 01:25:00
от fadsergc
новая функция AdsManager 2.6.5 - продление срока объявления

Автор aaalexusss

Ответов: 102
Просмотров: 25313
Последний ответ 28.09.2016, 11:15:21
от moonaway
Как сделать меню категорий сквозным?

Автор kozhenevsky

Ответов: 1
Просмотров: 1624
Последний ответ 30.08.2016, 07:23:44
от biper