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

dmitrij

  • Новичок
  • 9
  • 0 / 0
поиск
« : 30.07.2007, 13:48:09 »
Добрый день, у меня один и тот же товар находиться в 3 разных категориях и при поиске на сайте возникает проблема: выводит этот же товар со всех 3 категорий хотя он один и тот же, подскажите плиз как подправить поисковой мамбот виртуал марта что бы когда выводился товар то только выводился один товар, а не со всех категорий один и тотже.
*

dmitrij

  • Новичок
  • 9
  • 0 / 0
Re: поиск
« Ответ #1 : 02.08.2007, 11:25:24 »
Вот код поискового мамбота, теперь может будет проще подсказать.

<?php
defined( '_VALID_MOS' ) or die( 'Прямой доступ запрещен.' );
$_MAMBOTS->registerFunction( 'onSearch', 'botSearchVM' );

function botSearchVM( $text, $phrase='', $ordering='' ) {
  global $database;
  $text = trim( $text );
  if ($text == '') {
    return array();
  }
   $wheres = array();
   switch ($phrase) {
      case 'exact':
         $wheres2 = array();
         $wheres2[] = "LOWER(product_name) LIKE '%$text%'";
         $wheres2[] = "LOWER(product_sku) LIKE '%$text%'";
         $wheres2[] = "LOWER(product_desc) LIKE '%$text%'";
         $wheres2[] = "LOWER(product_s_desc) LIKE '%$text%'";
         $wheres2[] = "LOWER(product_url) LIKE '%$text%'";
         $where = '(' . implode( ') OR (', $wheres2 ) . ')';
         break;
      case 'all':
      case 'any':
      default:
         $words = explode( ' ', $text );
         $wheres = array();
         foreach ($words as $word) {
            $wheres2 = array();
            $wheres2[] = "LOWER(product_name) LIKE '%$text%'";
            $wheres2[] = "LOWER(product_sku) LIKE '%$text%'";
            $wheres2[] = "LOWER(product_desc) LIKE '%$text%'";
            $wheres2[] = "LOWER(product_s_desc) LIKE '%$text%'";
            $wheres2[] = "LOWER(product_url) LIKE '%$text%'";
            $wheres[] = implode( ' OR ', $wheres2 );
         }
         $where = '(' . implode( ($phrase == 'all' ? ') AND (' : ') OR ('), $wheres ) . ')';
         break;
   }

   switch ($ordering) {
      case 'newest':
      default:
         $order = '#__vm_product.cdate DESC';
         break;
      case 'oldest':
         $order = '#__vm_product.cdate ASC';
         break;
      case 'popular':
         $order = '#__vm_product.product_name ASC';
         break;
      case 'alpha':
         $order = '#__vm_product.product_name ASC';
         break;
      case 'category':
         $order = '#__vm_category.category_name ASC';
         break;
   }
   
 
  $database->setQuery( " SELECT id, name FROM  `#__menu` WHERE link LIKE '%com_virtuemart%' AND published=1 AND access=0");
  $database->loadObject( $Item );
  $ItemName = !empty( $Item->name ) ? $Item->name : "Shop";
  $Itemid = !empty( $Item->id ) ? $Item->id : "1";

  $query = "SELECT product_name as title,"
               . "\n    FROM_UNIXTIME( #__vm_product.cdate, '%Y-%m-%d %H:%i:%s'  ) AS created,"
               . "\n    product_s_desc AS text,"
               . "\n    CONCAT('$ItemName/',#__vm_category.category_name) as section,"
               
               . "\n    CONCAT('index.php?option=com_virtuemart&page=shop.product_details&flypage=',#__vm_category.category_flypage,'&category_id=',#__vm_category.category_id,'&product_id=', #__vm_product.product_id, '&Itemid=".$Itemid."' ) as href,"
               . "\n    '2' as browsernav"
               . "\n FROM #__vm_product"
               . "\n LEFT JOIN `#__vm_product_category_xref` ON `#__vm_product_category_xref`.`product_id` = `#__vm_product`.`product_id`"
               . "\n LEFT JOIN `#__vm_category` ON `#__vm_product_category_xref`.`category_id` = `#__vm_category`.`category_id`"

               . "\n WHERE $where"
            . "\n AND (product_parent_id='' OR product_parent_id='0')"
            . "\n AND product_publish='y'"
               . "\n ORDER BY $order" ;
               
  $database->setQuery( $query );

  $row = $database->loadObjectList();
 
  return $row;
}

?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поиск по ключевым словам?

Автор Archorosho

Ответов: 2
Просмотров: 4415
Последний ответ 14.02.2011, 19:49:46
от Артеист
Как добавить корзину, список последних товаров, поиск товаров на первую страницу joomla?

Автор X3MAL

Ответов: 2
Просмотров: 3752
Последний ответ 24.12.2010, 22:30:13
от terr
Virtuemart+joomfish поиск по другим языкам

Автор Egor_admin2003

Ответов: 3
Просмотров: 3890
Последний ответ 09.06.2010, 14:13:26
от Vladzimir
поиск по цене

Автор Bickaze

Ответов: 3
Просмотров: 3554
Последний ответ 01.12.2008, 20:08:01
от Bickaze
Поиск по цене товара ( от и до )

Автор rubik

Ответов: 2
Просмотров: 3226
Последний ответ 30.05.2008, 13:25:15
от Xpom