Lori

Lori

С нами с 13 октября 2014; Место в рейтинге пользователей: #350
Lori
23 августа 2021, 18:39
0
извиняюсь за долгий ответ:
$mspc2 = $modx->getService('mspromocode2', 'msPromoCode2',
        MODX_CORE_PATH . 'components/mspromocode2/model/mspromocode2/');
        $mspc2->initialize($modx->context->key);
        $manager = $mspc2->getManager();
        
        // Формат промо-кода в виде regex-like синтаксиса
        $format = '[a-zA-Z0-9]{12}';
        $permitted_chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
        // Output: 54esmdr0qf
        $couponCode = substr(str_shuffle($permitted_chars), 0, 10);
        
        // Параметры промо-кода
        $data = [
            // Основное
            'code' => $couponCode,
            'list' => 'default', // Поле "Список" для промо-кода
            'count' => 1, // Сколько раз можно применить генерируемый промо-код
            'discount' => $mspcDiscount, // Размер скидки для генерируемого промо-кода
            'description' => $mspcDescription, // Описание промо-кода
            'allcart' => 1,
            // Конфиг
            'showinfo' => true, // Показывать предупреждения
            'oneunit' => false, // На одну единицу товара
            'onlycart' => true, // Только в корзине
            'unsetifnull' => false, // Не применять без скидки
            'unsetifnull_msg' => '', // Текст при отмене
            'oldprice' => false, // Без старой цены
        
            // Время действия
            // 'lifetime' => 60 * 20, // В секундах
            // или
            // 'startedon' => '', // Начало действия, timestamp
            // 'stoppedon' => '', // Конец действия, timestamp
        ];        
        //
        $result = $manager->generateCoupon($format,$data);
Lori
16 августа 2021, 22:02
0
Программная генерация почему-то никак не реагирует на параметр allcart.
Все параметры задаются правильно, а вот allcart чекбокс никак не выбирается.
Пробовал и allcart => 1 и allcart=>true
Lori
18 июля 2021, 19:29
0
на текущий момент не актуально. сделал все, как описано, выводится стандартный сниппет со стандартными чанками
Lori
08 июля 2021, 13:10
0
Благодарю, не понадобилось. Просто поменял xtype с displayField на datefield и добавил format
Lori
26 мая 2021, 11:15
0
товаров не много, благодарю, разобрался
Lori
26 мая 2021, 11:14
0
пардон увидел в начале msimportexport, уже разобрался в принципе, благодарю
Lori
26 мая 2021, 10:49
0
покупать компонент за 3к ради импорта, извиняюсь, не вижу смысла) количество не критичное
Lori
23 мая 2021, 10:01
0
да, уже в сниппете нашел строку формирования url и удалил $port
Lori
19 мая 2021, 14:53
0
уже сделал, спасибо) добавил в вопрос решение, хотя ваше смотрится красивее)
Lori
19 мая 2021, 14:03
0
Подскажите, пожалуйста, что тут неправильно
$children = $resource->getChildIds($id, $depth);
                    foreach ($children as $child) {
                        
                        $res = $modx->getObject('modResource', $child);   
                        //Получаю значение TV-поля HitsPage и получаю сумму всех значений
                        $viewsVal = $res->getTVValue('HitsPage');
                        $tvSum = $tvSum + $viewsVal;
                        
                    }
Lori
19 мая 2021, 13:48
0
да, уже это понял) еще ошибка, что я обращаюсь к текущему ресурсу, а не ко списку ресурсов — это уже изменил
Lori
17 мая 2021, 06:08
0
у меня контекст один. Идея была такая же, только проблема в реализации — я свой первый сниппет буквально два 3 назад написал)
Lori
15 мая 2021, 13:10
0
Я же написал в вопросе, что не выделят бюджет. Уговаривать нет смысла, если шеф сказал нет. Я то сам не против использовать хорошо работающий компонент
Lori
15 мая 2021, 12:11
1
0
Благодарю. Уже нашел такое решение
Lori
14 мая 2021, 13:37
0
Решено. Получилось написать простенький сниппет.
Lori
11 мая 2021, 12:48
0
благодарю, уже посмотрел значение поля в БД и решил так:
&where=`{"parent:=":"0","AND:thread:=":"2"}`
Lori
10 мая 2021, 16:19
0
Спасибо большое, получилось! А я весь сниппет в отдельный чанк выносил, а не подумал вынести именно tpl)