Дмитрий
С нами с 21 марта 2020; Место в рейтинге пользователей: #3602 часа назад
Добавил localizator3_default_language
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeVue 4
Вчера в 23:49
Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3
Минимальные требования:
PHP 8.4 MODX 3.2 MiniShop3
msInShopNotify 6
03 июля 2026, 13:55
Обновление
1.2.0-pl (03.07.2026)
— добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`;
— добавлены уведомлени...
MaxNotify 2
03 июля 2026, 13:42
Да, планируется. Даже чуть больше, чем просто бонусная система)
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurrency 7
30 июня 2026, 13:13
Добрый день! Может что-то с правами доступа к файлам? Посмотрите логи в modx, в php. С ходу сложно ответить, ранее не было таких случаев.
FileMan - прикрепление файлов к ресурсам для MODX 3 74
29 июня 2026, 21:27
Большое спасибо за подсказку, но проблема решилась переустановкой.
Зависает корзина минишоп2 2
27 июня 2026, 10:51
Применительно к данному компоненту не знаю, что можно сделать специфического для ИИ. Хотя в целом идея интересная, можно в пакет добавлять скилл или п...
Хватит логгировать как в каменном веке 🪵 5
26 июня 2026, 09:30
Все рекомендации учтены
CommerceBridge1C — двусторонняя интеграция 1С с MODX 3 и miniShop3 по CommerceML 2. 8
25 июня 2026, 21:21
Я и не искал. С новым Formit необходимость в Fetchit и аналогах отпала. Переезд легкий, только событие в js изменить.
FormIt 5.2: нативный AJAX и reCAPTCHA v3 7
Что же касается исходников, я уже писал выше, что все изменения, которые я вношу в код у меня реализованы посредством подгрузки моих кастомных файлов.
Т.е. я смог сделать так, что бы модикс выводя таблицу с заказами минишопа, подгружал процессор не getlist.class.php, а мой собственный custom_getlist.class.php, то же самое и с файлами JS скриптов, которые мне требуется исправить. Другими словами, обновление мне нипочем.
А теперь я погружаюсь в ExtJs? =)))
Тут явно не требуется плагин… вернее, не так, у меня уже создан плагин, который грузит нужный мне процессор вместо штатного. Теперь мне лишь нужно «допилить» его до нужного мне состояния.
На сколько я тебя понял, то как раз, в том запросе, который я писал самостоятельно, именно это реализовано с помощью разделителя, по сути, меня такой вариант устроит более чем.
Верно же?
Вопрос только в том, что я не могу понять код процессора.
Как я уже писал выше, мне нужно понять что такое msOrderAddress, и как можно создать аналогичный, по всей видимости запрос:
ведь по логике вещей leftJoin это как раз таки присоединение таблицы, но вот какой? у минишопа нет такой таблицы msOrderAddress…
Если не трудно, помоги разобраться.
Так, то не мой код, то код разработчика minishop2. Это штатный процессор getlist.class.php.
И выдержки кода, я привел именно из него =)
Вот ссылка на полный код github.com/modx-pro/miniShop2/blob/master/core/components/minishop2/processors/mgr/orders/getlist.class.php
Что же касается изначального вопроса.
Ранее, в качестве практики, я уже формировал подобную таблицу, но не со стороны панели управления сайта, а на фронтенд (я правильно употребляю термин? Т.е. на самом сайте, в открытом доступе).
Делал эту таблицу на основе готового снипета, который нашел на просторах интернета.
Там код существенно проще, для моего восприятия.
Там есть sql-запрос, понятный мне, и есть цикл, который выводит данные.
По сути вот запрос, с которым, я достаточно долго сидел, прежде чем оно заработало. Однако это, как раз тот запрос, который решает, ту проблему, о который ты пишешь (когда товаров много).
а дальше уже обрабатываю полученную таблицу и вывожу
По сути, ты пишешь тоже самое, но только именно под бекенд (верно термин использую?), т.е. для панели администратора?
А самое главное, у меня есть четкое убеждение того, что мне как-то нужно придерживаться стилистики кода, которым написан процессор. Или нет? Просто нужно же не просто в базу запрос сформировать, а еще нужно этот запрос потом обработать =)
Речь идет именно о панели менеджера и возможности управления заказами.
В модалке без условно выводится и с этим нет сложностей, вопрос в том, что в данном контексте требуется перечень товаров выводить в общую таблицу.
Ну т.е. на равне с комментарием к заказу, датой заказа и прочими данными, требуется вывести перечень заказов.
(ERROR @ /home/c/cz42644/test-iflower/public_html/core/xpdo/xpdo.class.php: 644) Could not load class: ms2_order_products from mysql.ms2_order_products.
(ERROR @ /home/c/cz42644/test-iflower/public_html/core/xpdo/xpdo.class.php: 644) Could not load class: msorderProducts from mysql.msorderproducts.
[2025-04-13 15:04:21] (ERROR @ /home/c/cz42644/test-iflower/public_html/core/xpdo/xpdo.class.php: 1827) No foreign key definition for parentClass: msOrder using relation alias: Product
Каждая ошибка повторяется по нескольку раз, но это я так понимаю, идет несколько обращений к бд и каждое порождает одну и тужу ошибку.
Как я это себе вижу=) А ты меня поправь.
Те данные, что присутствуют в таблице с заказами, берутся из таблицы _ms2_orders, у меня уже получилось расширить эту таблицу данными из таблицы _ms2_order_addresses, это выглядело сложно, но я справился (скажу даже, что я не менял исходники, а сделал красиво, именно расширив своими файлами), т.к. нужный запрос уже присутствовал в процессоре (фильтрация заказов частично делается и по этой таблице). Я так понимаю, что за это отвечает эта часть кода $c->leftJoin('msOrderAddress', 'Address'); Т.е. дальше, я просто немного изменил SQL-запрос добавив выборку нужных полей.
Сейчас, мне нужно в запрос подключить еще одну таблицу, а именно _ms2_order_products, причем еще нужно сделать сортировку по id заказа, т.к. товаров в одном заказе может быть много.
Не получится ли сделать подобным образом?
или нужно идти по пути, который ты предложил?
Что такое msOrderAddress в данном случае $c->leftJoin('msOrderAddress', 'Address');? А самое главное откуда оно берется, это же не таблица в БД, а объект, класс или что-то еще? Где можно найти рождение msOrderAddress этого? Выше написанная строчка кода делает алиас в запросе, и при дальнейшем обращении я уже могу обращаться к таблице _ms2_order_addresses как Address.