Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #7
Отправить деньги
Артур Шевченко
19 декабря 2020, 13:35
-1
Я вам за невнимательность. Во-первых, когда я писал свой комментарий, было только ваше пояснение, без комментария @Иван Бочкарев, во-вторых, в своем комментарии я написал, что после ваших пояснений мне стала ясна суть проблемы и ни на какое из ваших начал я не наезжал, я дал понять, что для меня это не является существенной проблемой и пояснил, что помочь вам, к сожалению, не могу. Если вас оскорбило моё замечание, прошу прошу прощения, я не хотел вас обидеть, а имел намерение разобраться в проблеме и по возможности помочь. И наконец, цели просто высказаться я себе не ставлю.
Артур Шевченко
19 декабря 2020, 10:54
-3
Понятно, в общем ваше эстетическое начало страдает))) К сожалению не знаю как сообщить разработчикам.
Артур Шевченко
18 декабря 2020, 23:46
0
Не редиректит на оплату, потому что в коде этого нет. Вы же не стали расширять класс msOrderHandler, а написали свой сниппет или плагин, который создает объект msOrder, но не использует стандартный класс. Вообще это можно сделать проще. Если быстрый заказ работает для одного товара на просто отправить POST-запрос
$.post(document.location.href, {'ms2_action':'cart/add', 'id': product_id, 'ctx':'web', 'count':1},function(response){
response = JSON.parse(response);
if(response.success){
$.post(document.location.href, {'ms2_action':'order/create', 'id': product_id, 'ctx':'web', 'count':1},function(response){});
}
});
Если нужно предварительно очищать корзину, то обернуть всё в ещё один запрос 'cart/clean', ну и в :'order/create' там больше данных передавать надо, можно всю форму целиком, главное чтобы поля были правильно названы.

И вот ещё вариант modstore.pro/packages/integration/msoneclick )))
Артур Шевченко
18 декабря 2020, 23:30
0
Вызывать pdoArchive два раза: первый раз для вывода управления табами, второй для вывода содержимого.
Артур Шевченко
18 декабря 2020, 23:23
+1
Вынужден вас огорчить, провалидиловать поля с таким именем не получится, нужно запараллелить с помощью js cо скрытыми input, у которых будут имена без квадратных скобок, и проверять именно их.
Артур Шевченко
18 декабря 2020, 00:12
0
Я пользуюсь, и скинул скрипт, которым в последнем проекте проверял файлы, но правда не для тикетов, для них мне обязательно нужен только один файл и я его загружаю в отдельное ТВ и для него я сделал отдельное поле на фронте, куда вставляю один из загруженных пользователем файлов и которое проверяю через validate. Вы можете сделать так же, т.е. если нужно чтобы был загружен как минимум один файл сделайте отдельный input и в файле files.js при успешной загрузке вставляйте значение в дополнительный input, и этот input проверяйте в параметре validate.
Артур Шевченко
17 декабря 2020, 23:13
0
Я посмотрел, похоже надо исходники править, в шаблоне нет inout'а он вставляется динамически, значит надо изобретать велосипед, но более простой вариант проверять на фронте. В этом файле assets/components/tickets/js/web/files.js в районе 107 строки написать примерно так
$('.jsFileInput').change(function () {
            $('.error_photos').text('');
            var input = $(this)[0];
            if (input.files && input.files[0]) {
                if (input.files[0].type.match('image.*')) {
                    var reader = new FileReader();
                    reader.onload = function (e) {
                        $('.jsAvatar').removeClass('no-avatar').css('background-image', 'url("' + e.target.result + '"');
                    }
                    reader.readAsDataURL(input.files[0]);
                } else {
                    $('.error_photos').text('Изображение должно быть одного из следующих форматов: jpg,png,jpeg');
                }
            } else {
                console.log('хьюстон у нас проблема');
            }
        });
Артур Шевченко
17 декабря 2020, 22:11
0
И что? Это input, у него может быть name, а значит его можно записать в validate
'validate' => 'upload:required:customValidator'
Артур Шевченко
17 декабря 2020, 21:14
0
docs.modx.pro/komponentyi/tickets/snippetyi/ticketform последний параметр validate. Там же есть примеры оформления чанка. А сам валидатор можно взять тут.
Артур Шевченко
15 декабря 2020, 18:14
0
Посмотрите есть в плагине переменная id, если есть то смотрите что в ней. Ещё можно посмотреть что в массиве $_POST, какой-то идентификатор ресурса, за который отдают голос, должен быть. И тогда через $modx->getObject получайте этот ресурс и меняйте значение ТВ.<cut/>
Артур Шевченко
15 декабря 2020, 16:08
0
Понятно, в логах что-то есть? Вы проверяли плагин вообще отрабатывает? Что в него приходить? Что он отдает? Если нет, то очищаете журнал ошибок, потом меняете код плагина так
switch ($modx->event->name) {
    case "xLikeOnVote":
        $modx->log(1, 'Смотрим что в class пришло ' . $class);
         $modx->log(1, 'Смотрим что в list пришло ' . $list);
        if ($class == 'modResource' && $list == 'default') {
            if ($resource = $modx->getObject($class, array('id' => $parent))) {
                $modx->log(1, 'Проверяем дошли ли мы до этой строки и что в rating ' . $rating);
                $resource->setTVValue('rating', $rating);
                $resource->save();
            }
        }
        break;
}
И смотрите что будет в журнале ошибок после того как отработает плагин.
Артур Шевченко
15 декабря 2020, 13:38
0
В плагине переменные class, list, rating откуда появились?
Артур Шевченко
15 декабря 2020, 13:33
0
В minishop2 можно создавать свои опции, TV к ним никакого отношения не имеют.
Артур Шевченко
15 декабря 2020, 00:47
0
Заявлялось, о это не точно, что до 10 000 товаров работает нормально, и для нормального отображения важно не только ограничить количество товаров к категории, но и не выводить их все разом на странице, т.е. использовать либо ajax либо пагинацию. Это было про фильтры. Что до mSync, то проблемы могут быть только при первой синхронизации, т.к. хостинг ограничивает время работы скриптов и как правило это 60 сек, а за это время 40 000 товаров не загрузить, поэтому возможно придется делать несколько выгрузок.
Артур Шевченко
14 декабря 2020, 02:14
0
Это хорошо для юзабилити, я бы не дал, но рядовой пользователь не поймёт, что файлы загружаются, если не показать процесс)))
Артур Шевченко
13 декабря 2020, 15:07
0
А можете пояснить для чего data-data-type=«resource» и data-data-key=«9»? Особенно data-data-key почему именно 9?
Артур Шевченко
13 декабря 2020, 05:01
+1
Для начала можно в Гугле посмотреть о чём вообще речь. Через консоль в админке попробовать сменить, а если не получится тогда к хостеру за советом. Мне данный алгоритм всегда помогает;-)