208 похожих чатов

Почему update для элемента highload блока может не сохранять массив

чисел в множественное поле? isSuccess = true, но поле пустое. Если добавлять массив строк, то все ок. Поле тип "Файл"

13 ответов

44 просмотра
W.-Blazkowicz Автор вопроса

В итоге дебаггером отследил, что используется в ядре \Bitrix\Highloadblock\DataManager::convertSingleValueBeforeSave, который вызывает call_user_func_array(array($userfield['USER_TYPE']['CLASS_NAME'], 'onbeforesave'), array($userfield, $value)). И по итогу присваивает false значению пользовательского поля. Это обработчик кастомный какой-то?

W.-Blazkowicz Автор вопроса
W. Blazkowicz
В итоге дебаггером отследил, что используется в яд...

Подскажите как добавить в польз. поле типа Файл новые изображения для элемента hl-блока? Через CFile::SaveFile не выходит, так как валидатор Битрикса по какой-то причине не пропускает полученные id файлов и чистит их методом \Bitrix\Main\UI\FileInputUtility::checkFiles SomeTable::update($id, array( 'UF_PICTURE' => CFile::SaveFile(CFile::MakeFileArray(/local/templates/.default/img/img.svg), 'path') ));

W.-Blazkowicz Автор вопроса
W. Blazkowicz
Подскажите как добавить в польз. поле типа Файл но...

Чистит, так как id файлов, видимо, должны быть в сессию записаны, а CFile::SaveFile в сессию не пишет... @VirtualWhiskers, может быть подскажете \Bitrix\Main\UI\FileInputUtility::getSessionControlFiles Видимо нужно сначала зарегистрировать файл через \Bitrix\Main\UI\FileInputUtility::registerFile, но думаю, что должен быть готовый кейс для обновления изображения в hl-блоке

W.-Blazkowicz Автор вопроса
W. Blazkowicz
Чистит, так как id файлов, видимо, должны быть в с...

Здесь действительно никто не знает как обновить картинку для элемента hl-блока?

W. Blazkowicz
Чистит, так как id файлов, видимо, должны быть в с...

А в чем сложность сделать такое поле для раздела инфоблока, например, и посмотреть формат данных, прилетающих на вход?

W.-Blazkowicz Автор вопроса
Eugene Zhukov
А в чем сложность сделать такое поле для раздела и...

Не очень понял что имеете в виду. Разные же кейсы: в первом случае hl с entity manager, а во втором api инфоблоков... Я правильно понял, что файл нужно зарегистрировать сначала через \Bitrix\Main\UI\FileInputUtility::registerFile?

W. Blazkowicz
Не очень понял что имеете в виду. Разные же кейсы:...

вы uf-поле заполняете. инфоблоки к нему никак не относятся.

W.-Blazkowicz Автор вопроса
Eugene Zhukov
А в чем сложность сделать такое поле для раздела и...

Понимаю, что не относятся. Вы мне это сообщение адресовывали?

W. Blazkowicz
Понимаю, что не относятся. Вы мне это сообщение ад...

Естественно. для разделов инфоблоков можно создавать uf-поля. соответственно, все проверять там.

W.-Blazkowicz Автор вопроса
Eugene Zhukov
Естественно. для разделов инфоблоков можно создава...

Все еще не очень понимаю как мне это поможет обновить картинки у элемента hl-блока )

W. Blazkowicz
Все еще не очень понимаю как мне это поможет обнов...

ну, посмотрите то же самое (формат входных данных) на странице редактирования элемента hl-блока, если уж так хотите. сами uf-поля ничем не отличаются ни в разделах, ни в hl-блоке. в последнем только хранилище подменяется.

W.-Blazkowicz Автор вопроса
Eugene Zhukov
ну, посмотрите то же самое (формат входных данных)...

Но все-таки мне не нужна форма. Нужно просто разово обновить картинки. И для этого создание картинки через CFile::SaveFile, как выяснил, не подходит

W. Blazkowicz
Но все-таки мне не нужна форма. Нужно просто разов...

Я не сказал, что вам нужна форма. Я сказал - посмотрите правильный формат входных данных. На форме - т.е. в месте, где все работает.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта