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

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
При наведении курсора на control-label высплывает подсказка, как в прилагаемом скриншоте. Такое поведение на любом control-label в любом шаблоне представления com_users.
По идее они должны выводится в bootstrap-стиле, но в шаблоне не используется bootstrap, да и в com_users он нигде не подключен.
Как-либо можно отключить эти подсказки?
Или, как альтернатива, как подключить подсказки bootstrap, не подключая всего остального?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Ну почему не получится, по моему все в HTML, значит можно почекрыжить.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Ну почему не получится, по моему все в HTML, значит можно почекрыжить.
А по моему там все в XML форме и автоматом на лейблы тултипы назначаются.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
XML там есть, к бабке не ходи, но пользователь в любом случае видит HTML, js, CSS.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Ну если ты имеешь ввиду JS-ом убрать класс, тогда да, можно почекрыжить. =)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Во втором посту ссылка не является ссылкой.
Про js интересно, но без примера, к сожалению, пока не обойдусь.

В шаблоне com_users переопределен, все правлю там. Замена JHtml::_('behavior.tooltip'); на JHtml::_('bootstrap.tooltip'); ничего не дает, видимо, этого не достаточно. При этом, если вообще убрать JHtml::_('behavior.tooltip'); подсказки все равно выводятся.

PS, модератору: подпись к моим сообщениям отличается от подписи, указанной в профиле, это нормально?
« Последнее редактирование: 07.04.2014, 15:45:54 от AlekVolsk »
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Цитировать
Замена JHtml::_('behavior.tooltip'); на JHtml::_('bootstrap.tooltip'); ничего не дает, видимо, этого не достаточно.
Не хватает CSS-стилей, посмотрите их в Protostar.

Цитировать
подпись к моим сообщениям отличается от подписи, указанной в профиле, это нормально?
По моему подпись пользователя выводится только после какого-то кол-ва сообщений на форуме.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Тут скриптом убирать ничего не нужно, нужно посмотреть где этот класс прописан в шаблоне.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Тут скриптом убирать ничего не нужно, нужно посмотреть где этот класс прописан в шаблоне.
Типа display: none ему задать?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Ну пока в код не поглядишь ничего не сделаешь, сейчас.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Файл /components/com_users/views/remind/tmpl/default.php

Вот HTML этой формы
Код: html4strict
<div class="control-group">
    <div class="control-label">
<label id="jform_email-lbl" for="jform_email" class="hasTooltip required" title="" data-original-title="&lt;strong&gt;Адрес электронной почты&lt;/strong&gt;&lt;br /&gt;Введите, пожалуйста, адрес электронной почты, указанный в&nbsp;параметрах вашей учётной записи. На этот адрес будет отправлено письмо, содержащее ваш Логин.">Адрес электронной почты<span class="star">&nbsp;*</span>
        </label>
    </div>
    <div class="controls">
<input type="email" name="jform[email]" class="validate-email" id="jform_email" value="" size="30" required="" aria-required="true">
    </div>
</div>

Вот php:
Код: php
<div class="control-group">
    <div class="control-label">
<?php echo $field->label; ?>
    </div>
    <div class="controls">
<?php echo $field->input; ?>
    </div>
</div>
И если мы не долго думая заменим
Код
<?php echo $field->label; ?> 
на
Код
<label id="jform_email-lbl" for="jform_email" class="required" title="">Адрес электронной почты<span class="star">&nbsp;*</span></label>
То тултип должен убраться.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Ну это понятно. Просто для каждого поля создавать ручками HTML, а так все автоматом генерится =)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
И если мы не долго думая заменим
Код
<?php echo $field->label; ?> 
на
Код
<label id="jform_email-lbl" for="jform_email" class="required" title="">Адрес электронной почты<span class="star">&nbsp;*</span></label>
То тултип должен убраться.
Об этом я тоже подумал, но в templates/templname/html/com_users/profile/edit.php вывод производится также в цикле, а туда вывод идет сог-но настроек компонента, "Параметры сайта для пользователя", как с этим быть? Если тултипы в настройках компонента указываются, можно ли эти настройки (xml) переопределить в шаблоне (как?)?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Тогда примени strip_tags() к лейблу, а тэги задай вручную.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Хмм... эт как? так?
Код: php
    <div class="control-label">
<?php echo strip_tags($field->label); ?>
    </div>


3 мин спустя
Да, работает, спс, +
Решено.
« Последнее редактирование: 07.04.2014, 18:47:24 от AlekVolsk »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Ну его для пущей важности тегом лейбла надо обрамить, и все.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Ну его для пущей важности тегом лейбла надо обрамить, и все.
А зачем? в form.submit он не участвует, вот только звездочка не красная.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
ессно лейбл для красоты, я не зря его описал, там вся структура есть и классы, если все это повторить, то звездочка будет красная.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Тогда без цикла, ручками читать параметры и выводить сог-но их. Или не выводить, их же сог-но... Пичаль.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Почему? неправдоподобно будет только звездочка "обязательно для заполнения", остальное все идентично в этом месте. И шаблон этот только для определенного действия, при желании можно все условия обыграть.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
В общем, слегка повыёживавшись, пришел к желаемому результату отсутствия подсказки и наличия цвета у звездочки:
Код: php
              <div class="control-label">
                <?php
                  $star_strip = mb_substr(strip_tags($field->label),-1,1);
                  if ($star_strip == '*') {
                    $label_strip = mb_substr(strip_tags($field->label),0,-1);
                    if (trim($label_strip)!= '') {
                      echo '<label class="required">'.$label_strip.'<span class="star">'.$star_strip.'</span></label>';
                    }                   
                  } else {
                    $label_strip = strip_tags($field->label);
                    if (trim($label_strip)!= '') {
                      echo '<label class="required">'.$label_strip.'</label>';
                    }
                  }
                ?>
              </div>

Решено.
Рекомендация в FAQ: не все в своих шаблонах используют bootstrap, который позволит выводить подсказки красиво, а кому-то они и с bootstrap не нужны.
« Последнее редактирование: 08.04.2014, 15:19:46 от AlekVolsk »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Во втором случае class="required" у лейбла не нужен.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Во втором случае class="required" у лейбла не нужен.
Почему?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Это класс присваиваемый обязательному полю, обязательное поле рассматривается в первой части условия.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Как убрать ссылку с активного пункта меню в Joomla 3.2?

Автор Vas80

Ответов: 5
Просмотров: 46845
Последний ответ 23.04.2014, 13:06:21
от Vas80