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

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Доброго всем времени. Вопрос такой, есть в общем модуль вывода рандомно товаров, надо чтобы он выводил товары не дороже ста евро, как бы это сделать, кто сталкивался?

Код
<?php 
defined( '_JEXEC' ) or die();
?>

<?php
$i = 0;
foreach($last_prod as $curr){
if (($i % 3 ==0) && ($i != 0)) { } ?>

<?php
$db = JFactory::getDBO();
$query = "SELECT * FROM #__menu WHERE menutype = 'left-menu-". $lng ."' AND link like 'index.php?option=com_jshopping&controller=category&task=view&category_id=". $category->category_id ."%'";
$db->setQuery($query);
$rez = $db->loadObject();
$str = str_replace("/home", "", $category->category_link);
?>

<div class="categ_head">
<div class="left_c">
<span>
<a href="<?php print $curr->product_link?>"><?php print $curr->name?></a>
</span>
</div>
<div class="right_c"><?php print formatprice($curr->product_price);?></div>
</div>
<div class="cartbtn">

<a href="/index.php/cart/add.html?category_id=<?php print $curr->category_id?>&product_id=<?php print $curr->product_id?>"><?php echo JTEXT::_(ADDTOCART); ?></a>
<a href="<?php print $curr->product_link?>">
<img class="jshop_img" style="height:217px;width:366px;" src="<?php print $jshopConfig->image_product_live_path?>/<?php if ($curr->product_thumb_image) print $curr->product_thumb_image; else print $noimage?>" alt="" />
</a>

</div>

<?php $i++; } ?>
*

denben777

  • Захожу иногда
  • 157
  • 78 / 1
Попробуйте добавить:

foreach($last_prod as $curr){
if ($curr->product_price < 101) {

...
<?php }?>
<?php $i++; }?>
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
...
Ограничение вписалось но, сейчас получается что если товар выше нужного потолка то модуль ничего не выводит, выводит только если товар стоит меньше назначенной цены. Незадача.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
в модуле в СКЛ запросе надо добавить where ячейкацены<101
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
в модуле в СКЛ запросе надо добавить where ячейкацены<101
Что-то я туплю. Не могли бы вы уточнить? Цена находится в _jshopping_products
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
xxxxx_jshopping_products.product_price

но это цена дефолта.
если присутствуют атрибуты иих надо учитывать... то без бубна и ..... не обойтись будет.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Да фиг с ними атрибутами, я не могу правильно составить запрос  ;D
Иду курить мускул
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
В общем можно так:
Код
<?php 
$db = JFactory::getDBO();
[b]$query = "SELECT * FROM #__jshopping_products WHERE product_price BETWEEN 1 AND 101 ";[/b]
$db->setQuery($query);
$rez = $db->loadObject();
$str = str_replace("/home", "", $category->category_link);
?>

Теперь осталось разобраться как сделать чтобы он учитывал данный запрос %)
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Господа, помогите ктонить, мозг кипит %)
Модуль под третью линейку, хочу сделать вывод до определенной цены, все никак %) Может кто поможет или скинет готовое решение?

http://rghost.net/private/48817292/328e7d9650c7c599aecdd05a4c22d2bd
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
если товар выше нужного потолка то модуль ничего не выводит, выводит только если товар стоит меньше назначенной цены.
Мне не очень понятно, чего вы хотите.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Вывод товаров до опредененной цены
« Ответ #10 : 18.09.2013, 14:49:33 »
Мне не очень понятно, чего вы хотите.
Я хочу чтобы сей модуль выводил из определенной категории рандомно товар стоимость которого не превышает 100$.
 Из определенной категории есть, рандомно есть, остался последний пункт.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод товаров до опредененной цены
« Ответ #11 : 18.09.2013, 14:52:49 »
Непонятно другое: вам подсказали, но вы писали
Ограничение вписалось но, сейчас получается что если товар выше нужного потолка то модуль ничего не выводит, выводит только если товар стоит меньше назначенной цены. Незадача.
Раве это не то, чего хотели?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Вывод товаров до опредененной цены
« Ответ #12 : 18.09.2013, 14:58:14 »
Непонятно другое: вам подсказали, но вы писалиРаве это не то, чего хотели?

Должно всегда рандомно что-то выводиться, а сейчас получается товар из бд тянется и средствами PHP проверяется цена, если цена из бд вытянулась больше чем нам надо то товар не показывается, следовательно, надо сделать чтобы сразу вытягивалось из бд до нужного ограничения.
Во завернул
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод товаров до опредененной цены
« Ответ #13 : 18.09.2013, 15:26:12 »
Все равно не понял. Скрипт проверяют каждый товар на предмет цены, если цена меньше 101, то показывает. Если ни один товар не соответствует критерию (цена < 101), то показывать нечего. А вы что хотите?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Вывод товаров до опредененной цены
« Ответ #14 : 18.09.2013, 16:31:40 »
та вопрос чтобы их рендомно выбирать а не показывать

просто рендомно может выбрать 5 товаров.
а с ценой ниже 100 не будет ни одного :)
и модуль будет пустым :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Вывод товаров до опредененной цены
« Ответ #15 : 18.09.2013, 16:45:22 »
Сложно  ;Drobert , в общем надо чтобы он изначально из базы вытягивал по критерию "цена" < 100$. Надо чтобы он всегда выводил один товар который стоит меньше 100$. Почитайте ветку сверху, товарищ denben777 предложил PHP проверку цены но уже с вытянутым из бд товаром, и тут получается что если товар стоит больше 100$ то он тупо не показывается, а мне надо чтобы всегда был ккойнить товар(благо дешевле 100$ товаров много).
 Товарищ nevigen очень верно высказал что надо в скл запрос сунуть утверждение мол вытягивать только товар до 100$, но как это реализовать с конкретным примером не сказал, а мне знаний в мускуле не хватают.
 Помогите господа, с меня пиво  *DRINK*
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод товаров до опредененной цены
« Ответ #16 : 19.09.2013, 00:42:34 »
OMG, неужели так трудно написать: модуль рандомно выбирает 5 товаров, но я хочу, чтобы эти 5 товаров (или хотя бы часть из них) стоили менее 100$? Я же отродясь не видал ваш модуль.
Как я понял, вы выложили код шаблона. Смотрите, где формируются $last_prod и добавьте
Код
 WHERE product_price < 101
Если не хотите ломать ядро, то напишите свой запрос
Код
$db = JFactory::getDBO();
$query = "SELECT * FROM #__jshopping_products WHERE product_price < 101 LIMIT 5 ORDER BY product_id";
$db->setQuery($query);
$last_prod=$db->loadObjectList();
Примерно так, не проверял.
« Последнее редактирование: 19.09.2013, 01:07:44 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Вывод товаров до опредененной цены
« Ответ #17 : 19.09.2013, 11:37:19 »
Вроде тут формируется запрос, буду мучить:
Код
   $product = JTable::getInstance('product', 'jshop');
    $cat_str = $params->get('catids',NULL);
    if (is_array($cat_str)) {    
        $cat_arr = array();
        foreach($cat_str as $key=>$curr){
           if (intval($curr)) $cat_arr[$key] = intval($curr);
        }  
    } else {
        $cat_arr = array();
        if (intval($cat_str)) $cat_arr[] = intval($cat_str);
    }
    $last_prod = $product->getRandProducts($params->get('count_products', 5), $cat_arr);  
    foreach($last_prod as $key=>$value){
        $last_prod[$key]->product_link = SEFLink('index.php?option=com_jshopping&controller=product&task=view&category_id='.$value->category_id.'&product_id='.$value->product_id, 1);
    }

По второму попытался но:
Код
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY product_price' at line 1 SQL=SELECT * FROM cnfsa_jshopping_products WHERE product_price < 1001 LIMIT 5 ORDER BY product_price
Убрал ORDER BY так он выводит одинаковые товары из одной категории.
У меня на главной выходят шесть модулей которые выводят рандомно один товар из каждой категории.
Господа, помогите за денежку, понимаю что ваше время деньги и тратить его никто не хочет на новичков  ^-^

Код
$db = JFactory::getDBO();
$query = "SELECT * FROM #__jshopping_products WHERE product_price < 101 LIMIT 5 ORDER BY product_id";
$db->setQuery($query);
$last_prod=$db->loadObjectList();
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вывод товаров до опредененной цены
« Ответ #18 : 20.09.2013, 00:12:07 »
Нет, не там и не то. Смотрите функцию getRandProducts. Но вам лучше не трогать код, если не понимаете, что делаете.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

admiral

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Re: Вывод товаров до опредененной цены
« Ответ #19 : 20.09.2013, 04:35:59 »
Ясно, спасибо  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться