Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
21 марта 2024, 10:33
+1
1. Мы решаем фундаментальную проблему с дублированием зависимостей, когда каждый транспортный пакет MODX может притащить свою версию популярной библиотеки в общее пространство имён, и что-нибудь этим сломать.
Да это очень напрягает, когда на сайте сразу 3 версии Guzzle с разных дополнений и приходиться придумывать велосипед как заставить это работать.

Отличный пример!!! Применю обязательно.

ps. Что мне непонятно, так почему ребята которые задают курс MODX до сих пор придерживаются транспортных пакетов? Когда в ядре уже есть все необходимое для установки через композер…
Володя
19 марта 2024, 14:07
+1
Разобрался, благодаря вам!
Отлично!
Эти данные надо вынимать из msOrderAddress, а не из msOrder.
ну значит пакет пишет не пропертис заказа, а в пропертис адреса заказа.
Еще раз убедился на практике в большом потенциале дополнения msStatOrders. Благодарю автора!
Пожалуйста, обращайтесь!
Володя
19 марта 2024, 14:03
0
Естественно сортировка и группировка по мнимым полям не работает)
Володя
19 марта 2024, 12:31
+1
<?php
/** @var modX $modx */
/** @var array $row */
$utm= '';

if (!empty($row['Order.properties'])) {
    $properties = json_decode($row['Order.properties'], true);
    $utm = $properties['utm_source'] ?? ''; // тут берете нужное поле из массива properties
}

return $utm;
Володя
19 марта 2024, 07:14
+1
Доброе утро.

Добавьте выборку поля Order.properties



добавьте рендер



<?php
/** @var modX $modx */
/** @var array $row */
$utm= '';

if (!empty($row['Order.properties'])) {
    $utm = $row['Order.properties']['utm']; // тут берете нужное поле из массива properties
}

return $utm;

добавьте поле



Должно работать, если не получится — пишите в ТП.
Володя
18 марта 2024, 09:13
+1
В итоге проблемы с сохранением вызывал плагин autoredirector
modx.pro/help/24408#comment-141539
Володя
07 марта 2024, 16:38
0
Добрый день.
Написать в Тп. И там же сразу скинуть доступы к админке, посмотрю в чем дело.
Володя
05 марта 2024, 21:08
0
Не, оно то возвращает цену но эта цена уходит потом в корзину, что мне не нужно. Мне чисто отображение.
если вам чисто отображение то ловите запрос на js и меняйте что вам необходимо.

Если вы сформулируете точнее что вам надо — получите точнее ответ.

А PR принимаете на новые возможности?
не вижу смысла, теперь только под MODX3.
Володя
05 марта 2024, 19:52
0
Можно попробовать на событие msopOnGetFullCost
<?php
switch ($modx->event->name) {
    case 'msopOnGetFullCost':
        $values = $modx->Event->returnedValues;
        $values['cost'] = $cost - 10; // тут изменяем стоимость. 
        $modx->event->returnedValues = $values;
    
        break;
}
Володя
05 марта 2024, 12:15
0
Пожалуйста, будут вопросы — обращайтесь.
Володя
05 марта 2024, 11:44
+1
Добрый день.

[msopOnBeforeGetModification]
[rid] - integer
[iid] - integer
[options] - array
[excludeIds] - array
[excludeType] - array

[msopOnAfterGetModification]
[rid] - integer
[iid] - integer
[options] - array
[excludeIds] - array
[excludeType] - array
[modification] - object

[msopOnBeforeGetCost]
[rid] - integer
[price] - double
[modification] - array
[isAjax] - boolean

[msopOnAfterGetCost]
[rid] - integer
[cost] - double
[modification] - array
[isAjax] - boolean

[msopOnGetFullCost]
[product] - object
[rid] - integer
[cost] - double
[options] - array
[modifications] - array

[msopOnBeforeGetMass]
[rid] - integer
[weight] - double
[modification] - array
[isAjax] - boolean

[msopOnAfterGetMass]
[rid] - integer
[mass] - double
[modification] - array
[isAjax] - boolean

[msopOnGetFullMass]
[product] - object
[rid] - integer
[mass] - double
[options] - array
[modifications] - array

[msopOnModificationBeforeSave]
[mode] - string
[modification] - object
[cacheFlag] - NULL

[msopOnModificationSave]
[mode] - string
[modification] - object
[cacheFlag] - NULL

[msopOnModificationBeforeRemove]
[modification] - object
[ancestors] - array

[msopOnModificationRemove]
[modification] - object
[ancestors] - array

[msopOnGetModificationById]
[id] - integer
[rid] - integer
[found] - boolean
[options] - array
[modification] - object

[msopOnModificationNotFound]
[id] - integer
[rid] - integer
[found] - boolean
[options] - array
[modification] - object

[msopOnManagerPrepareObjectData]
[type] - string
[data] - array
[self] - object
Володя
04 марта 2024, 20:33
0
Алексей, ну я же вам прямо написал — задавайте конкретный вопрос.

И что документация к сожалению не появилась. Ну если она не появилась, то неужели сейчас вот появится? С учётом того что апгрейда не было несколько лет.

Я всегда рад помочь, но для этого мне нужно знать что вам конкретно необходимо.
Володя
04 марта 2024, 20:00
0
Добрый день. Нет полная документация к сожалению не появилась. Если есть конкретный вопрос спрашивайте.

По событиям — оно только одно на получение аякс запроса от коннектора.
Володя
04 марта 2024, 19:58
0
Я знаю. Автор жив. Пишите в ТП дополнения — вам ответят.
Володя
21 февраля 2024, 15:33
0
А еще вопрос такой, только не ругайтесь, пожалуйста)
Я что так пугающе пишу или у меня буквы страшные? )

Как вывести выбранный размер товара в заказе?
надо прежде уточнить где вывести?
Володя
21 февраля 2024, 15:06
+1
Добрый день.
Добавить вручную связь


загрузить поля


активировать нужное поле