Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #6
Володя
16 апреля 2018, 08:37
0
Доброе утро.
Расчет стоимости идет на событие UserEventsOnBeforeGetOrderCost
Пример плагина есть в комплекте UserEventsExample, вам нужно только изменить его под свою логику.
Добавьте после строчки

$data = $orderHandler->get();

$modx->log(1, print_r($data, 1));
и увидите в логе все доступные переменные. Вам нужно взять кол-во часов и перемножить на стоимость часа.

Если возникли трудности — пишите в ТП.
Спасибо!
Володя
16 апреля 2018, 08:24
0
П.С.2: Может быть последнее обновление не было выложено? отсюда и проблемы?
Свежая версия пакета всегда доступна в репозитории магазина
Володя
16 апреля 2018, 08:24
0
П.С. в инструкции нет примера вызова для формы 5.
[[!dadata.form?
    &selector=`#dadata-form5`
	&suggestions=`{
        'inn': {
            'type': 'PARTY',
            'restrict_value': 'true',
            'params': {
                'return': {
                    'keys': ['data.inn']
                }
            },
            'subject': {
                'kpp': 'kpp',
                'ogrn': 'ogrn',
                'name-full':'name.full',
                'name-short_with_opf':'name.short_with_opf'
            }
        }
	}`
]]
Володя
16 апреля 2018, 08:22
0
В параметре «subject» не получается использовать данные 2го уровня в многомерных объектах. Например, не работает следующий код:
Используйте расширенный класс обработки данных, он идет в комплекте с пакетом, нужно только его прописать в настройках.
dadata_format_handler_class
Extended
Володя
13 апреля 2018, 13:15
+1
Разрешить php в fenom. Настройка pdotools_fenom_phpда
Володя
13 апреля 2018, 10:10
1
0
.msfavorites-total-all .msfavorites-total:before {
	content: "Y";
}
.msfavorites-total-all .msfavorites-total[data-value="0"]:before {
	content: "X";
}
Володя
12 апреля 2018, 19:10
0
Добрый вечер.
Все верно, для работы с заказами в МС предусмотренно отдельное апи. В данном пакете оно не реализовано.
Володя
11 апреля 2018, 15:14
0
потому что неверно указываете идентификатор
joxi.ru/bmoBgdMhxKKvVr
Володя
11 апреля 2018, 13:36
0
и так и эдак пробовал. Не выходит.
а плагину данное событие назначили?
Можно чуть подробнее?
пользуйтесь поиском по OnDocFormPrerender, примеров более чем достаточно.
Володя
11 апреля 2018, 11:21
0
аналогично
public function getNum()
    {
        $cur = date('ym');
        $num = 0;
        $c = $this->modx->newQuery('msOrder');
        $c->where(array('num:LIKE' => "{$cur}%"));
        $c->select('num');
        $c->sortby('id', 'DESC');
        $c->limit(1);
        if ($c->prepare() && $c->stmt->execute()) {
            $num = $c->stmt->fetchColumn();
        }
        if (empty($num)) {
            $num = '500';
        }
        $num = explode('/', $num);
        $num = end($num)  + 1;
        return $num;
    }
Володя
11 апреля 2018, 09:15
0
Все работает.
Вот и отлично.

для разных групп пользователей или конкретных пользователей
Плагин на OnDocFormPrerender, в зависимости от пользователя/группы пользователя прятать лишние поля.

Если просто прятать не вариант, а нужно действительно серьезные изменения админки то переопределять miniShop2.panel.Product
Володя
11 апреля 2018, 09:09
0
переопределить класс заказа

в нем переопределить метод getNum()

думаю достаточно поменять одну строчку
$num = date('ym') . '/0';
на
$num = date('ym') . '/500';

public function getNum()
    {
        $cur = date('ym');
        $num = 0;
        $c = $this->modx->newQuery('msOrder');
        $c->where(array('num:LIKE' => "{$cur}%"));
        $c->select('num');
        $c->sortby('id', 'DESC');
        $c->limit(1);
        if ($c->prepare() && $c->stmt->execute()) {
            $num = $c->stmt->fetchColumn();
        }
        if (empty($num)) {
            $num = date('ym') . '/500';
        }
        $num = explode('/', $num);
        $num = $cur . '/' . ($num[1] + 1);
        return $num;
    }
Володя
02 апреля 2018, 16:53
0
где найти шаблон экспортируемой таблицы?
нет никакого шаблона экспортируемой таблицы. Массив данных с помощью библиотеки spout экспортируется в файл нужного формата.

Если вам нужно обработать строку то можно использовать событие msStatOrdersOnPrepareExportRow
например
if (is_array($row) AND isset($row['createdon'])) {
    $row['createdon'] = date('d.m', strtotime($row['createdon']));
    
    $modx->event->returnedValues['row'] = $row;
}
можно добавить аналогичное событие по завершению, для вставки информации в конец файла. Не более…

Или зря покупал, получается?
все компоненты доступны для тестиривания на modhost.pro/. Прежде чем что то покупать можно удостоверится нужно ли оно вам.
Володя
30 марта 2018, 11:07
0
Возможно ли по событию получать цену old_price, если открывается в модальном окне msCart?
поясните. Открывается корзина а получать цену old_price чего ???
Володя
27 марта 2018, 21:34
0
синтаксис я брал из этого поста, там одинарные кавычки были
синтаксис верный, но json некорректный.
В том же посте есть упоминание онлайн сервиса для проверки json.
Проверь, исправь ошибку и все.
Володя
27 марта 2018, 21:21
0
некорректный json
["
                         TVtest.value = '5541' OR TVtest.value = '5172'
                         "]
Володя
25 марта 2018, 10:08
0
нужно указывать данные пользователя в ИМ или МС?
конечно ИМ
Володя
25 марта 2018, 10:08
0
1 — все так. Массив с хуками вам же вывел. На все что выше можете не обращать внимания.
2 — выше написал как его получить. Он формируется с помощью getHookUrl. Прежде нужно указать верные sync_user_password и sync_user_username в настройках синхронизации
3 — скорее всего что то криво подвесили