Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
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 — скорее всего что то криво подвесили
Володя
24 марта 2018, 17:30
0
Добрый день.

1 — WebHook (wh) калбек на какое либо действие, обычно HTTP запрос по указанному адресу. Подробней в гугл…

2 — адрес по которому находится обработчик, можно получить как
$url_hook = $Sync->SyncTools->getHookUrl();

3 — для работы с wh есть несколько методов
— getWebHook — Получить список сущесвующих хуков.
— setWebHook — Установить хук.
— updWebHook — Обновить хук.
— delWebHook — Отключить хук.
проще всего поставить компонент console и выполнить нужный код в нем
например, посмотреть список существующих wh
<?php
echo "<pre>";

/** @var array $scriptProperties */
/** @var Sync $Sync */
$corePath = $modx->getOption('sync_core_path', null,
    $modx->getOption('core_path', null, MODX_CORE_PATH) . 'components/sync/');
if (!$Sync = $modx->getService('sync', 'Sync', $corePath . 'model/sync/',
    array('core_path' => $corePath))
) {
    return;
}
$service = 'moysklad';
if (!$Sync->loadSyncTools($service)) {
    return;
}

$r = $Sync->SyncTools->getWebHook();
print_r($r);

4 — да. Пример плагина syncMoySkladSystem. Там есть рабочий код на удаление категории/продукта.
Володя
23 марта 2018, 09:48
0
Мне кажется странным идея выставлять плейсхолдер в обработчике доставки что срабатывает по ajax и затем ловить его на странице.
Володя
20 марта 2018, 09:27
0
Доброе утро.
попробуйте как
"vendor.name": {"key":"Производитель","type":"string"}
Володя
15 марта 2018, 15:51
1
+2
if ($request_uri ~* '^kontraktnyij-dvigatel/\?mark=376') {
    return https://avtodoka-msk.ru/dvigatel/chevrolet-evanda-(v200)-2004-2006;
}
Володя
26 февраля 2018, 10:00
+2
Почему бы не задать вопрос в ТП?
Володя
26 февраля 2018, 09:58
+2
По вопросу работы платных дополнений следует писать в ТП компонента
Спасибо!