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

Артем
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;
                    }
Alexey
23 января 2021, 12:25
+1
Привет! Возможно, из-за этого?

languages:required[]

Вроде бы, у FormIt нет такого валидатора — required[], есть required
Антон
23 января 2021, 11:49
0
можете как-то подробней расписать, я пытаюсь внести измы в код от программиста, который убежал)
Артур Шевченко
23 января 2021, 11:39
0
Так у вас же написано Ошибка при загрузке файлов, т.е. на сервер как бы попадает 3 файла, но с загрузкой одного из них какая-то проблема. Т.е. вам нужно сначала делать проверку на количество, а потом загружать.