Новости 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 Ответов
  • 2167 Просмотров
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Модно ли реализовать (и как) такое: по ссылке в материале изменить параметр шаблона и применить изменения.
В частности, интересуют 2 вещи:
1. Вместо одного css-файла подключить другой;
2. Изменить (переопределить) background у класса.
В идеале - без js, чисто на php, но это в идеале...
« Последнее редактирование: 31.12.2013, 14:07:05 от b2z »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Вот здесь http://www.bonusthemes.com/demo/joomla25/education/index.php?option=com_content&view=article&id=28&Itemid=181 пример, как по ссылке изменяется цветовая схема сайта, как это работает? Правда там используется К2, которого у меня нет, и я не знаю, нужен ли он (а вдруг?).
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
В чем собственно проблема? Ловите переменную по ссылке, устанавливаете куку, проверяете если кука есть то подгружаете какой нить дополнительный CSS
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Хмм... Алгоритм понятен, да вот с реализацией не очень. Примерчик дадите или ткнете ссылочкой?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В общем, поисследовав вышеприведенный мною пример, понял, что придется писать свой хелпер, и без js не обойтись, что мне пока слабо, а тупо копипастить с другого шаблона, не разобравшись, что к чему, - считаю, себя не уважать. Пока обойдусь тем, что есть. Опыт приходит с годами :)
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Хмм... Алгоритм понятен, да вот с реализацией не очень. Примерчик дадите или ткнете ссылочкой?
то есть ничего не понятно ;)
Код: php
<?php 
$input = JFactory::getApplication()->input;
$styleColor = $input->getCmd( 'style', '' );
if ( !empty( $styleColor ) ) {
$conf = JFactory::getConfig();
$cookie_domain = $conf->get( 'cookie_domain', '' );
$cookie_path = $conf->get( 'cookie_path', '/' );
setcookie( 'styleColor', $styleColor, time() + 8640000, $cookie_path, $cookie_domain );
} else {
if ( isset( $_COOKIE['styleColor'] ) ) {
$styleColor = $_COOKIE['styleColor'];
}
}
if ( !empty( $styleColor ) ) {
JFactory::getDocument()->addStyleSheet( JUri::base(). 'templates/your_template/css/' . $styleColor . '.css' );
}
?>
Ссылки
<a href="<?php echo JRoute('&style=green'); ?>">Зеленый</a>
<a href="<?php echo JRoute('&style=red'); ?>">Красный</a>

в /templates/your_template/css/ долджны лежать файлы green.css, red.css, и т.д. как вы назовете их.. и в них переопределить какие то элементы что бы был другой у них цвет например! Пожключение этого файла должно быть после основного файла шаблона, разместить этот код можно в шаблоне!
« Последнее редактирование: 30.12.2013, 12:54:00 от Istaan »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
то есть ничего не понятно
...
разместить этот код можно в шаблоне!
Ну не скажу, что ничего, все-таки, пока примеры искал, много перечитал и доки, и кода, и - надеюсь - не бесследно.
Непонятно только одно: 8640000 - это что? время жизни кука? в чем измерение?
Я так думаю, в конце head воткнуть этот код - самое то?

Проверил.
Ссылка <a href="<?php echo JRoute('&style=ks_camomile'); ?>... не работает, браузер при парсинге HTML останавливается на <a href=" и дальше тишина, страница после этого места не отображается, вся разметка летит. Это пишется в шаблоне, в футере.
« Последнее редактирование: 30.12.2013, 20:00:54 от AlekVolsk »
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а как <?php echo JRoute('&style=ks_camomile'); ?> можно повесить на пункт меню?

в шаблоне решил: <a href="<?php echo $_SERVER['REQUEST_URI']; ?>?style=ks_camomile">...</a>
осталось в меню запихнуть :)
кстати, в демке bt_education из меню вызов главной страницы идет.
« Последнее редактирование: 30.12.2013, 20:54:44 от AlekVolsk »
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
покажите ваш шаблон, ибо вы делаете что то не там и не так!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Пожалуйста:
Спойлер
[свернуть]

http://www.alekvolsk.ru/ здесь демку делаю.
Обратите внимание на непонятное поведение пункта меню "Оформление": на денвере все ок, на хосте непонятка...
Все подпункты пункта "Оформления" имеют ссыллку вида /?style=ks_camomile
Сам пункт меню "Оформление" имеет тип Материалы » Избранные материалы
« Последнее редактирование: 31.12.2013, 01:03:26 от AlekVolsk »
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Вот после
  $doc->addStyleSheet('/templates/'.$this->template.'/css/template.css');
вставить код:
Код: php
$input = JFactory::getApplication()->input;
$styleColor = $input->getCmd( 'style', '' );
if ( !empty( $styleColor ) ) {
$conf = JFactory::getConfig();
$cookie_domain = $conf->get( 'cookie_domain', '' );
$cookie_path = $conf->get( 'cookie_path', '/' );
setcookie( 'styleColor', $styleColor, time() + 8640000, $cookie_path, $cookie_domain );
} else {
if ( isset( $_COOKIE['styleColor'] ) ) {
$styleColor = $_COOKIE['styleColor'];
}
}
if ( !empty( $styleColor ) ) {
JFactory::getDocument()->addStyleSheet( JUri::base(). 'templates/your_template/css/' . $styleColor . '.css' );
}

а вот это: <a href="<?php echo JRoute::_('&style=ks_camomile'); ?>">Ссылка 1</a> вставить вне <?php ?>
обваливалось бо я не то скопировал, синим выделил то что забыл!
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Ок, работает.
Я, в общем-то, об этом сам догадался. Единственная правка, я подгружаю стиль по умолчанию сразу (иначе коряво выглядит :) ) (выделено синим)
$styleColor=$input->getCmd('style','ks_stone');

Но мне надобно это теперь в меню запихать, а то на главной работает - на остальных слетает.


В общем, потому и слетает, что стиль по умолчанию указывал, пришлось грузить его отдельно, до этого кода.
Осталось только разобраться, почему выпадающее меню у пункта меню появляется только после клика на нем...
« Последнее редактирование: 31.12.2013, 01:38:16 от AlekVolsk »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Вывод значений из custom fields материала в модуле по имени поля

Автор goga_pgasovav

Ответов: 3
Просмотров: 3084
Последний ответ 30.12.2024, 13:22:11
от goga_pgasovav
[Решено] Получить category description image в index.php шаблона

Автор goga_pgasovav

Ответов: 6
Просмотров: 2522
Последний ответ 12.07.2024, 17:06:14
от goga_pgasovav
[Решено] Перестали работать переходы по меню сайта

Автор AlexP750

Ответов: 12
Просмотров: 2909
Последний ответ 06.02.2024, 12:42:26
от AlexP750
Как изменить lang=&quot;ru-ru&quot;?

Автор Maffo

Ответов: 0
Просмотров: 982
Последний ответ 07.04.2023, 16:07:22
от Maffo
[Решено] Ссылка на домен и текущий шаблон в блоге категории

Автор goga_pgasovav

Ответов: 2
Просмотров: 1357
Последний ответ 06.03.2023, 16:30:23
от goga_pgasovav