Всего 125 678 комментариев

Павел Гвоздь
24 января 2021, 07:46
0
Решил обойтись без кучи файлов, там итак кеш-файлов хватает)
Evgeny
24 января 2021, 02:38
0
подскажите пожалуйста — как ограничить поле для текста? прям не хватает параметра для настраиваемого отступа по всем осям в отдельности)
Артур Шевченко
23 января 2021, 19:58
0
Господа, не ссортесь, право слово программирование штука гибкая и у задачи может быть много решений, в какой-то ситуации лучше одно решение, в какой-то другое. getCollection кушает много памяти это факт, но если ресурсов немного, то данное обстоятельство некритично. Хотя я склоняюсь на сторону Артёма использование процессора сложновато и плохо вписывается в понятие «по-быстрому», я сам новичок и писал для новичков, Артём подсказал, где поправить, чтобы было быстрее и безопаснее получился, на мой взгляд вполне простой и понятный код, неуниверсальный конечно, но такая задача и не ставилась.
Артем
23 января 2021, 19:48
+1
Никто не мешает занаследовать процессор и искать по чему хочется.
Дык нафиг он нужен, если там нет ни одного метода, который не нужно переопределять?
searchResources юзает getCollection, ровно как и остальные методы для поиска, тут можно передать привет оперативке.
process тоже переопределять нужно.
И что там в итоге остается, проверка прав?
Артур Шевченко
23 января 2021, 19:37
0
Таки согласен, см. в-третьих. Постараюсь написать и такой вариант. Хотя я тот ещё любитель ООП))
Павел Бигель
23 января 2021, 19:25
0
Никто не мешает занаследовать процессор и искать по чему хочется.
Артур Шевченко
23 января 2021, 19:23
0
Во-первых, мне лично не очень понятно как и что я могу передать в этот процессор и что он мне вернёт, где можно почитать как с ним работать?
Во-вторых, зачем мне поиск по TV, чанкам, сниппетам и пользователям, это избыточный функционал для моей задачи.
В-третьих, я не учел что такой процессор существует.
В-четвёртых, для саморазвития полезно изобрести велосипед другой, в конце концов я никого на нём ездить не заставляю:-)
Павел Бигель
23 января 2021, 19:13
+1
Люди продолжают изобретать велосипеды
тыц
Артур Шевченко
23 января 2021, 18:58
0
Валидатор у вас странный. Он данные берёт из базы, а должен с фронта. Я бы проверял $_FILES на количество файлов.
Илья Уткин
23 января 2021, 18:49
0
Вот, кстати, в минишопе изменили подключение этого файла, сломали обратную совместимость, а мажорную версию не поменяли. Нехорошо…
Илья Уткин
23 января 2021, 18:47
+1
Пришла идея криптовать их каким-нибудь openssl_encrypt, а через фронт передавать только закодированную строку, раскодируя её в нужный момент при установке голоса.
Интересный выход из ситуации. Надо будет запомнить, может где-то пригодится.

Я бы, наверное, записывал массив, например, в кеш, а с фронтенда передавал ключ кеша. Но было бы большое количество файлов, вместо кучи записей в таблице сессий)
Артур Шевченко
23 января 2021, 13:30
0
Ну в вашем случае достаточно в случае изменения селекта ставить в скрытое поле 1 если что-то выбрано и 0 если не выбрано.
Антон
23 января 2021, 13:28
0
не сработало. Отключил сниппет проверки количества фото и сделал правки в default.js. Но никакого уведомления 'Файлов должно быть не меньше 3' не появилось и форма не отправилась
Антон
23 января 2021, 13:22
0
Что в это поле класть? Возможный выбор уже есть внутри селекта со значениями же
Артур Шевченко
23 января 2021, 13:19
0
Тогда отдельное скрытое поле
Антон
23 января 2021, 13:11
0
теперь This field is required даже если мультиполе заполнено
Артур Шевченко
23 января 2021, 12:59
0
вот так
languages[]:required
Но есть одно НО, ошибку всё равно не покажет потому что js ругается на селектор с [].
В таких случаях обычно делают скрытое поле и проверяют его.
Антон
23 января 2021, 12:57
0
для мультивыбора, насколько я знаю, required[]
Артур Шевченко
23 января 2021, 12:34
0
Давайте так, кусок кода который первым вы вставили, загружает фото в профиль пользователя и к Tickets отношения не имеет. Второй кусок кода, проверят сколько файлов уже было загружено к тикету. Компонент Tickets насколько мне известно не генерирует системных событий, т.е. плагин написать как minishop2 не получится, придётся править исходники. Я бы сделал копию файла assets/components/tickets/js/web/default.js, изменил системную настройку tickets.frontend_js и на 265 строке перед отправкой формы вставил бы проверку
if( document.getElementById('files').files.length < 3){
                    Tickets.Message.error('Файлов должно быть не меньше 3');
                    return false;
                    }