Дмитрий

Дмитрий

С нами с 21 марта 2020; Место в рейтинге пользователей: #894
Дмитрий
Вчера в 01:24
0
ух! даже звучит сложно… =)
А можно ссылкой в меня кинуть на то как вообще загружать изображения?
Дмитрий
Вчера в 01:23
0
посмотрел более внимательно, не совсем мне подходит сие дополнение… а жаль… прям теплилась надежда.
Дмитрий
02 сентября 2025, 10:37
0
о! звучит как план!
Подскажите, из описания не понял, а как то в самой таблице отображается, загружен файл в этот заказ или нет? Ну, может появляется новая колонка или какая-то иконка?
Дмитрий
02 сентября 2025, 10:01
0
Вопрос не понятен. Что значит прикрутить к заказу? Для чего?
Когда покупатель выбирает товар на сайте, он видит фотку товара, в моем случае, это букет цветов, но каждый раз, после сборки букета, менеджер отправляет фотку уже реального букета в ватсап покупателю, что бы ожидание и реальность совпадали.
Я хочу сделать так, что бы это было централизованно, непосредственно через интерфейс минишопа. Что бы была возможность подгрузить реальную фотографию букета к заказу, и так же через интерфейс минишопа отправить ее покупателю.

Уместно всё если это решает задачу, но как раз задачу я не совсем понимаю. Сейчас вот ещё раз перечитал заметку и появился вопрос: а зачем вообще тебе к письму прикреплять отдельный файл, почему нельзя передать изображение товара в теле письма, как это происходит из коробки?.
По большому счету мне без разницы, как это будет технически, отдельный файл или в теле письма, цель, что бы заказчик увидел фотку.

Там же передаётся список товаров с картинками, запихни нужную картинку в галерею, передай в чанк письма да хотя бы через опции товара и заказчик увидит товар
Боюсь такое решение мне не совсем подходит, т.к. у меня каждый новый заказ, должен иметь новую фотографию.
Дмитрий
31 августа 2025, 20:34
0
Артур, ты один из не многих, кто реально помогает советом, с твоих подсказок я уже не раз сумел разобраться в непонятных для меня вещах, спасибо тебе!
Как не править исходники я уже научился!
Вопрос в том, что я не знаю с какой стороны подойти к этой задаче!
Где живут события минишопа? Т.е. где мне искать файлик который отвечает за msOnChangeOrderStatus?
Как прикрутить к заказу изображение?
Уместно ли будет писать в базу путь до изображения, загружать его стандартными средствами модИКС… и желательно поподробнее как это все реализовать :)))
Хоть какой-то вектор дай!
Заранее, благодарен!
Дмитрий
20 августа 2025, 17:24
0
Спасибо, обязательно копну туда. Что касается индивидуализации… мне очень сложно делать без примеров, я не знаю ни ситаксиса, ничего, но в чужом коде с горем пополам разобраться могу.
А вот по поводу обновлений, с этим я уже разобрался через плагин можно же подвязать файлик (дубль исходника) в котором будут жить мои изменения.
Дмитрий
15 августа 2025, 22:00
0
Спасибо, обязательно попробую
Дмитрий
07 августа 2025, 21:26
0
какая досада, а может есть подобная тема с ватсапом?
Дмитрий
07 августа 2025, 18:24
0
А как-то можно это реализовать, для уведомления клиента, а не менеджера?
К примеру, сменился статус у заказа, а бот в тг клиенту пишет об этом…
Буду признателен если разъясните, как такое можно реализовать!
Дмитрий
04 августа 2025, 23:10
0
Пытаюсь раскурить данную тему, но не выходит каменный цветок.

Т.е. я создал плагин, скопипастил код, создал файл js и так же туда скопипастил код… но, чудо не произошло, ничего не поменялось!
Где я был не прав?!
Может minishop слегка поменялся, все таки заметка от 18 года…
Кому не сложно помогите! =)

В целом стоит задача сменить тип поля в разделе «Адрес»
Дмитрий
25 мая 2025, 22:03
0
Спасибо за помощь! Разобрался, если интересно, то в посте сделал UPD, написал, как решил вопрос.
Дмитрий
28 апреля 2025, 21:46
0
Что то я упустил из вида этот комментарий.
Вот тут я описываю как подгружал свой процессор.
Дмитрий
21 апреля 2025, 10:52
0
$q->leftJoin('msOrderProduct', 'Product', 'msOrder.id=Product.order_id AND Product.product_id = 190');
а как в этой конструкции сделать AS, как в запросе, к примеру, select name from table_name as name_product?

а если быть точнее, то в штатном процессоре есть вот такой вот запрос

$c->select(
            $this->modx->getSelectColumns('msOrder', 'msOrder', '', ['status', 'delivery', 'payment'], true) . ',
            msOrder.status as status_id, msOrder.delivery as delivery_id, msOrder.payment as payment_id,
            UserProfile.fullname as customer, User.username as customer_username,
            Address.region as region, Address.text_address as text_address, Address.city as city, Address.phone as phone,
            Status.name as status, Status.color, Delivery.name as delivery, Payment.name as payment'
        );
и если я дописываю, к примеру Product.name as name_product, а в системных настройках минишопа задаю дополнительное поле для таблицы заказов name_product, то все работает.
Но, естественно, выводится только 1 товар, а не все. И, увы, финт ушами, который я проворачивал со стороны фронденда, уже не выходит.
$sQuery="SELECT 
adr.id, adr.country, adr.region, adr.phone, adr.comment, ord.status, adr.text_address, ord.order_comment, ord.delivery, ord.num, ord.weight,
adr.receiver, ord.cost,
*********
(select GROUP_CONCAT(name, ' - ', count, 'шт ') as names from modx3_ms2_order_products where order_id = adr.id) as names
FROM modx3_ms2_order_addresses as adr
*********

LEFT JOIN 
modx3_ms2_orders as ord ON adr.id=ord.id ORDER BY adr.id DESC
";
я так понимаю, что select это какой-то метод в процессоре, и в итоге выходит ошибка…

как мне это:
(select GROUP_CONCAT(name, ' - ', count, 'шт ') as names from modx3_ms2_order_products where order_id = adr.id) as names
FROM modx3_ms2_order_addresses as adr
засунуть в это:
$c->select(
            $this->modx->getSelectColumns('msOrder', 'msOrder', '', ['status', 'delivery', 'payment'], true) . ',
            msOrder.status as status_id, msOrder.delivery as delivery_id, msOrder.payment as payment_id,
            UserProfile.fullname as customer, User.username as customer_username,
            Address.region as region, Address.text_address as text_address, Address.city as city, Address.phone as phone,
            Status.name as status, Status.color, Delivery.name as delivery, Payment.name as payment'
        );
Дмитрий
20 апреля 2025, 22:05
0
так, то да, только для мня то тут написана абракадабра =)
Дмитрий
20 апреля 2025, 20:56
0
$q->leftJoin('msOrderProduct', 'Product', 'msOrder.id=Product.order_id 
AND Product.product_id = 190');
о как, т.е. ты для существующего класса msOrderProduct, делаешь алисас Product, и описываешь условия джойна?
Дмитрий
20 апреля 2025, 20:39
0
Эх! Сразу бы, ты меня послал бы на эти схемы=)))
Бегло посмотрел, кажись это именно то, что мне нужно было…
По крайней мере, уже нашел, как подключить нужную мне таблицу.
Собственно, я с самого начала был на верном пути… но…
я писал
$c->leftJoin('msOrderProduct', 'Product');
а нужно было
$c->leftJoin('msOrderProduct', 'Products');
Т.е. одна буква и все=)))
Вопрос в том, что мне даже в голову не приходило, что алиас, а именно Products, тоже где-то описан… я думал, это уже на мое усмотрение, ан нет, в схеме описано =)))
Дмитрий
20 апреля 2025, 20:08
0
я сам не очень понимаю, что мне нужно найти=)))
Но ведь где-то описан класс msOrderAddress, думаю, что если у меня будет этот класс, на основе него, я смогу создать свой, который мне нужен =))
Дмитрий
20 апреля 2025, 15:24
0
о! А вот это уже ближе к теме! Т.е. там я смогу найти как создан класс msOrderAddress? я правильно тебя понял?
Дмитрий
20 апреля 2025, 15:23
0
=))) ну значит не погружаюсь.
Что же касается исходников, я уже писал выше, что все изменения, которые я вношу в код у меня реализованы посредством подгрузки моих кастомных файлов.
Т.е. я смог сделать так, что бы модикс выводя таблицу с заказами минишопа, подгружал процессор не getlist.class.php, а мой собственный custom_getlist.class.php, то же самое и с файлами JS скриптов, которые мне требуется исправить. Другими словами, обновление мне нипочем.
А теперь я погружаюсь в ExtJs? =)))

Тут явно не требуется плагин… вернее, не так, у меня уже создан плагин, который грузит нужный мне процессор вместо штатного. Теперь мне лишь нужно «допилить» его до нужного мне состояния.
Дмитрий
20 апреля 2025, 14:23
0
А я думал, я уже погружаюсь… медленно правда, но тем не менее.
На сколько я тебя понял, то как раз, в том запросе, который я писал самостоятельно, именно это реализовано с помощью разделителя, по сути, меня такой вариант устроит более чем.
(select GROUP_CONCAT(name, ' - ', count, 'шт ') as names
from modx3_ms2_order_products
where order_id = adr.id) as names
Верно же?
Вопрос только в том, что я не могу понять код процессора.
Как я уже писал выше, мне нужно понять что такое msOrderAddress, и как можно создать аналогичный, по всей видимости запрос:
$c->leftJoin('msOrderAddress', 'Address');
ведь по логике вещей leftJoin это как раз таки присоединение таблицы, но вот какой? у минишопа нет такой таблицы msOrderAddress…

Если не трудно, помоги разобраться.