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

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Хочу поделится опытом и возможно узнать о иных лучших решениях.

Joomla 1.5.22 VirtueMart 1.1.7

Столкнулся с магазином одежды.

Важные задачи были следующие:
1. У каждой одежды есть размеры
2. У каждого размера одежда должно быть свое наличие на складе.
3. При заказе каждого размера должно списываться наличие

Если не запариваться о наличии, можно было решить это все с помощью "Особенность". Но это не мой вариант.

Решается это все дочерними товарами.

Но добавление размеров к товару очень долгое:

1. Добавить товар (проставить артикул, название, цену, описание, фото - все это общаее для всех размеров)
2. "Добавить свойство" для каждого товара отдельно! (жесть) В случае с одеждой это свойство - размер, прикиньте для 1000 товаров добавлять одно и тоже.
3. "Добавить позицию" это как раз и есть дочерний товар, т.е размер. (проставляем артикул отличный от родительского товара, название такое же как у родителя и статус товара: на складе)

И так 1000 раз ... жесть...

Что я сделал для облегчения добавления товара:
В phpmyadmin в таблице jos_vm_product_attribute_sku добавил 1000 строк

INSERT INTO `nameyoudb`.`jos_vm_product_attribute_sku` (`product_id`, `attribute_name`, `attribute_list`) VALUES
('1', 'Размер', '0'), ..., ('1000', 'Размер', '0');

Можно сделать через LOOP можно PHP файл с циклом, кто что умеет.

Я добился того, что для первых 1000 товаров свойство Размер добавлять не нужно, оно уже добавлено:)
Остается только добивать каждый размер к товару через "позиции", которые стали доступны.

Прошу поделится опытом.
*

Черная_Леди

  • Захожу иногда
  • 73
  • 0 / 0
У меня схожая проблема для обуви. Можно еще раз подробнее объяснить, как это сделать?
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
ок щас попробую, со скринами.

Есть принцыпиальные задачи у инет-магазина

1. У одежды есть размеры (XS,S,M,L), размерная сетка у всех товаров одна и таже
2. Поскольку у каждого товара какие-то размеры могут быть в наличии, а каких-то нет. Поэтому,  каждого размера одежды должно быть свое наличие на складе
3. При заказе определенного размера должно списываться его наличие.

Реализация такова:

Будут использоваться следующие понятия:

Родительский товар - обычный товар, который добавляется в админке 2мя путями (1. При простом виде админки, в левой менюшке в разделе "Товары" - кнопка "Добавить товар", или в списке товаров в верхней правой менюшке "Новый")

Свойство товара - некое принципиальное отличие товара друг от друга(Цвет, размер) у каждого товара может быть одно или несколько свойств, называть можно как угодно. Само свойство имеет только название(см. рис2). Я доконца не понимаю зачем оно нужно. Как добавить свойство для товара см. рис №1. и рис. №2
НО при добавлении "Свойства товара", активируется возможность добавлять "Позиции товара". см. рис.4 !У меня переименовано "Добавить позицию" в "Добавить размер"

Позиции товара
- собственно товар (подтовар), обладающий теми же возможностями(фото, наличие на складе, цена), что и родительский товар. Список подтоваров выводится в Форме кнопки "КУПИТЬ" в виде SELECT (выпадающего списка) рис. 9.

Чтобы при добавлении нового товара пропустить этап добавления "Свойства товара", я в phpmyadmin в таблице jos_vm_product_attribute_sku добавил 1000 строк свойств товара "Размер" для товаров с id с 1 по 1000. см. рис.10

Код
INSERT INTO `jos_vm_product_attribute_sku` (`product_id`, `attribute_name`, `attribute_list`) VALUES
(1, 'Размер', 0),
(2, 'Размер', 0),
(3, 'Размер', 0),
(4, 'Размер', 0),
(5, 'Размер', 0),
(6, 'Размер', 0),
(7, 'Размер', 0),
(8, 'Размер', 0),
(9, 'Размер', 0),
(10, 'Размер', 0),
........
(1000, 'Размер', 0);

Итак, пошагово по скринам:










« Последнее редактирование: 11.04.2011, 00:14:34 от SorokinS »
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Отпишитесь пожалуйста, если хоть чуток помогло)
*

Черная_Леди

  • Захожу иногда
  • 73
  • 0 / 0
Отпишитесь пожалуйста, если хоть чуток помогло)
#1064 - 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 'INSERT INTO `jos_vm_product_attribute_sku` (`product_id`, `attribute_name`, `att' at line 2
Вот такая муть лезет. У меня Joomla 1.5 и виртмарт 1.1.4
*

Черная_Леди

  • Захожу иногда
  • 73
  • 0 / 0
У вас типы и категории, а я сразу создала категории, может в этом разница?
*

Черная_Леди

  • Захожу иногда
  • 73
  • 0 / 0
С БД разобралась, только вот размеры сверху и сбоку не отображаются
*

Черная_Леди

  • Захожу иногда
  • 73
  • 0 / 0
Прошу прощения за дурость))) ЗАРАБОТАЛО!!
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Проявился один интересный момент.

При использовании дочерних товаров (например как размеры одежды), модуль поиска выдает один и тот же товар по нескольку раз.

Т.е если ищем "Кофточка детская Manya", то выдается три раза "Кофточка детская Manya" в размерах S, M, L. Ссылки с этих кофточек ведут на соответствующий размер или родительский товар.

Думаю нада обучить модуль поиска не выводить товары имеющие "product_parent_id". Т.е. не выводить дочерние товары.

Идея есть, буду реализовывать. Любая помощь будет полезна.
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Вообщем, сделал.

Благодаря помощи tug нашел где правится запрос поиска товара:
Код
/administrator/components/com_virtuemart/html/shop_browse_queries.php

В этом файле в 96 строке (VM 1.1.8) есть это:

Код
foreach( $keywordArr as $searchstring ) {
$sq .= "\n (`#__{vm}_product`.`product_name` LIKE '%$searchstring%' OR ";
$sq .= "\n `#__{vm}_product`.`product_sku` LIKE '%$searchstring%' OR ";
$sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR ";
$sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') ";

if( $i++ < $numKeywords ) {
$sq .= "\n  AND ";
}
}
Объявляем переменную
Код
$search1parent=0;
Добавляем строку
Код
$sq .= "\n `#__{vm}_product`.`product_parent_id` LIKE '%$search1parent%' AND ";

Получается:

Код
$search1parent=0;
foreach( $keywordArr as $searchstring ) {
$sq .= "\n `#__{vm}_product`.`product_parent_id` LIKE '%$search1parent%' AND ";
$sq .= "\n (`#__{vm}_product`.`product_name` LIKE '%$searchstring%' OR ";
$sq .= "\n `#__{vm}_product`.`product_sku` LIKE '%$searchstring%' OR ";
$sq .= "\n `#__{vm}_product`.`product_s_desc` LIKE '%$searchstring%' OR ";
$sq .= "\n `#__{vm}_product`.`product_desc` LIKE '%$searchstring%') ";

if( $i++ < $numKeywords ) {
$sq .= "\n  AND ";
}
}

И готово!
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Еще вылез косяк с работой дочерних товаров.

Косяк выявился при следующей конфигурации virtuemart:

  • Проверять наличие на складе? ДА
  • Показывать товары, которых нет на складе НЕТ

Прикол в том, что родительский товар не имеет так такого наличия, в product_in_stock всегда 0!
Наличие проставляется у дочерних товаров.

Функция "Показывать товары, которых нет на складе" в позиции НЕТ добавляет в запрос проверку наличия($q .= " AND product_in_stock > 0 ";), которая проверяет и родительское наличие!

Кароче получается, что как будто каталог пустой:)))

Код
$q .= "#__{vm}_product_category_xref.category_id='$category_id' ";
$q .= "AND #__{vm}_category.category_id=#__{vm}_product_category_xref.category_id ";
$q .= "AND #__{vm}_product.product_id=#__{vm}_product_category_xref.product_id ";
//$q .= "AND #__{vm}_product.product_parent_id='' ";
if( !$perm->check("admin,storeadmin") ) {
$q .= " AND product_publish='Y'";
if( CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "0") {
$q .= " AND product_in_stock > 0 ";
//$q .= " AND product_parent_id != 0 ";
}
}

Можно родителям проставить наличие "1", но тогда статистика товаров на складе будет не верной!

Думаю, как убрать проверку наличия у родителей!? Пытался добавить проверку product_parent_id  - не прокатило)
« Последнее редактирование: 18.04.2011, 21:37:56 от SorokinS »
*

bubaduba

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Делай добро, и отпускай его в море...
Цитировать
Чтобы при добавлении нового товара пропустить этап добавления "Свойства товара", я в phpmyadmin в таблице jos_vm_product_attribute_sku добавил 1000 строк свойств товара "Размер" для товаров с id с 1 по 1000. см. рис.10

Код:
INSERT INTO `jos_vm_product_attribute_sku` (`product_id`, `attribute_name`, `attribute_list`) VALUES
(1, 'Размер', 0),
(2, 'Размер', 0),
(3, 'Размер', 0),
(4, 'Размер', 0),
(5, 'Размер', 0),
(6, 'Размер', 0),
(7, 'Размер', 0),
(8, 'Размер', 0),
(9, 'Размер', 0),
(10, 'Размер', 0),
........
(1000, 'Размер', 0);

Это не помогло, не могу понять, что не так я делаю, по одной строке добавляется а вот чтоб полностью 1000шт. не добавляется.

Ошибка: #1064 - 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 '(   4   ,   'РазмеÑ?', 0)    (   5   ,   'РазмеÑ?', 0)    (   6   ,   'РазмеÑ?', 0)' at line 3

В чем причина?
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1

Разделяйте (998, 'Размер', 0), (999, 'Размер', 0);"," и у последнего должна быть ";"
(1000, 'Размер', 0);
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
*

bubaduba

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Делай добро, и отпускай его в море...
Я разделил их все по схеме как указано выше
(   1   ,   'Размер', 0)      
(   2   ,   'Размер', 0)      
(   3   ,   'Размер', 0)      
(   4   ,   'Размер', 0)      
(   5   ,   'Размер', 0)      
(   6   ,   'Размер', 0)      
(   7   ,   'Размер', 0)      
(   8   ,   'Размер', 0)      
(   9   ,   'Размер', 0)      
(   10   ,   'Размер', 0)
..............
(   990   ,   'Размер', 0)      
(   991   ,   'Размер', 0)      
(   992   ,   'Размер', 0)      
(   993   ,   'Размер', 0)      
(   994   ,   'Размер', 0)      
(   995   ,   'Размер', 0)      
(   996   ,   'Размер', 0)      
(   997   ,   'Размер', 0)      
(   998   ,   'Размер', 0)      
(   999   ,   'Размер', 0)      
(   1000   ,   'Размер', 0)

Joomla 1.5.22 + VirtueMart 1.1.7а
*

bubaduba

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Делай добро, и отпускай его в море...
Спасибо! Решено, я по не внимательности не ставил ","
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Для тех кто работает с наличием на складе может пригодится FAQ по выводу Кол-ва товара на складе и Товаров на складе на сумму.

http://joomlaforum.ru/index.php/topic,162685.0.html
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Также при использовании:
  • наличия на складе
  • сопутствующих товаров

Необходимо поправить запрос Mysql вывода сопутствующих товаров в файле  /administrator/components/com_virtuemart/html/shop.product_details.php

Добавить проверку наличия на складе:
AND product_in_stock!='0'

Должно получится так:
Код
// Let's have a look wether the product has related products.
$q = "SELECT product_sku, related_products FROM #__{vm}_product,#__{vm}_product_relations ";
$q .= "WHERE #__{vm}_product_relations.product_id='$product_id' AND product_publish='Y' AND product_in_stock!='0' ";
$q .= "AND FIND_IN_SET(#__{vm}_product.product_id, REPLACE(related_products, '|', ',' )) LIMIT 0, 6";
$db->query( $q );

Иначе будет выводится отсутствующий товар, при переходе по ссылке на этот товар вылезет ошибка об отсутствии этого товара.
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Есть загвоздка при использовании дочерних товаров, конечно, она не критичная, но все же расскажу:

Когда идет процесс добавления товара, сначала появляется родительский товар, потом размеры.

Так вот, при хорошей посещаемости сайта, может получится так, что посетитель купит родительский товар, т.е без указания например "размера" вещи.

Правильно было бы:
1. Или не показывать родителя пока, не вставлены дочерние товары-размеры.
2. Или не показывать КУПИТЬ пока не вставлены дочерние товары-размеры.

Буду ковырять.

Вообщем, есть решение, простое решение для п. №2, но тогда кнопка купить не появится пока не выбран размер.

А так все сводится к добавлению до Form этого в шаблоне файл product_details/includes/addtocart_form.tpl:
if($product_parent_id!=0)
« Последнее редактирование: 03.05.2011, 14:41:12 от SorokinS »
*

Московский курьер

  • Новичок
  • 7
  • 0 / 0
 !Может кто знает есть какое нибудь платное решение для вывода одного товара (майка) разных размеров, цветов,  а также с автоматическим снятием с показа если цвет или размер закончился. Или лучше комплекс  вмести с программой учета склада и автоматической загрузкой товаров на сайт
*

Московский курьер

  • Новичок
  • 7
  • 0 / 0
Хорошие решение с дочерними товарами и их учетом. Но это немного не удобно для покупатель когда у тебя большой ассортимент "одного товара" Например: Размер 42 Цвет белый ;Размер 42 Цвет черный ;Размер 42 Цвет голубой ;Размер 42 Цвет красный ;Размер 44 Цвет белый ;Размер 44 Цвет черный ;Размер 44 Цвет голубой ;Размер 44 Цвет красный ; и т.д.
Согласитесь это не красиво выглядит да и удобно.
Возможно ли сделать отображение как при обычном  добавление через список "Список свойств: особенности." кто нибудь знает как это осуществить .

« Последнее редактирование: 14.07.2011, 16:41:30 от Московский курьер »
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Можно, но без управления наличием каждого уникального товара.

Наверно, возможна комбинация с типами товаров.
*

Московский курьер

  • Новичок
  • 7
  • 0 / 0
Хорошие решение с дочерними товарами и их учетом. Но это немного не удобно для покупатель когда у тебя большой ассортимент "одного товара" Например: Размер 42 Цвет белый ;Размер 42 Цвет черный ;Размер 42 Цвет голубой ;Размер 42 Цвет красный ;Размер 44 Цвет белый ;Размер 44 Цвет черный ;Размер 44 Цвет голубой ;Размер 44 Цвет красный ; и т.д.
Согласитесь это не красиво выглядит да и удобно.
Возможно ли сделать отображение как при обычном  добавление через список "Список свойств: особенности." кто нибудь знает как это осуществить .


Может есть платное решение. какой нибудь модуль
*

recived

  • Захожу иногда
  • 69
  • 6 / 0
Я наверно по адресу, почти... Тоже интересует вопрос как сделать так чтобы свойства не добавлять каждому товару отдельно а брать типовые. Ну или в моем случае есть тип товара и его характеристики. Вот как эти характеристики перетащить в свойства?
*

SorokinS

  • Захожу иногда
  • 165
  • 12 / 1
Поподробнее опишите.
*

recived

  • Захожу иногда
  • 69
  • 6 / 0
Например у меня есть тип товара где указан выподающим списком цвет (Белый;Синий;Розовый). В свойствах товара (при выборе в корзину) тоже нужен этот цвет с параметрами как у типа. Вот может как то можно штатными средствами сделать чтобы типы совмещались со свойствами. Просто нужно будет заводить кучу свойств в куче товаров. Удобней было бы если автоматом наложились из типов.
*

Drulik

  • Новичок
  • 6
  • 0 / 0
Хорошие решение с дочерними товарами и их учетом. Но это немного не удобно для покупатель когда у тебя большой ассортимент "одного товара" Например: Размер 42 Цвет белый ;Размер 42 Цвет черный ;Размер 42 Цвет голубой ;Размер 42 Цвет красный ;Размер 44 Цвет белый ;Размер 44 Цвет черный ;Размер 44 Цвет голубой ;Размер 44 Цвет красный ; и т.д.
Согласитесь это не красиво выглядит да и удобно.
Возможно ли сделать отображение как при обычном  добавление через список "Список свойств: особенности." кто нибудь знает как это осуществить .



Решили как-нибудь?

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

Vitek

  • Захожу иногда
  • 185
  • 0 / 0
Подскажите а как убрать добавленный вот этой командой INSERT INTO `jos_vm_product_attribute_sku` (`product_id`, `attribute_name`, `attribute_list`) VALUES  размер
какую команду надо написать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

количество товаров на странице

Автор gazman

Ответов: 0
Просмотров: 4540
Последний ответ 03.03.2016, 21:50:39
от gazman
Объединение похожих товаров в карточке товара

Автор newjey

Ответов: 8
Просмотров: 2345
Последний ответ 09.10.2015, 14:39:31
от newjey
Неправильное сортировка по цене в категориях товаров

Автор Tobi_108

Ответов: 0
Просмотров: 2350
Последний ответ 06.08.2015, 16:29:26
от Tobi_108
Удаление большого пласта товаров по артикулу из админки (компонент модуль)

Автор holovla

Ответов: 0
Просмотров: 2334
Последний ответ 28.06.2015, 23:50:37
от holovla
Не работает поиск на складе товаров

Автор redsowet

Ответов: 0
Просмотров: 1752
Последний ответ 02.03.2015, 19:54:11
от redsowet