чисел в множественное поле? isSuccess = true, но поле пустое. Если добавлять массив строк, то все ок. Поле тип "Файл"
В итоге дебаггером отследил, что используется в ядре \Bitrix\Highloadblock\DataManager::convertSingleValueBeforeSave, который вызывает call_user_func_array(array($userfield['USER_TYPE']['CLASS_NAME'], 'onbeforesave'), array($userfield, $value)). И по итогу присваивает false значению пользовательского поля. Это обработчик кастомный какой-то?
Подскажите как добавить в польз. поле типа Файл новые изображения для элемента 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') ));
Чистит, так как id файлов, видимо, должны быть в сессию записаны, а CFile::SaveFile в сессию не пишет... @VirtualWhiskers, может быть подскажете \Bitrix\Main\UI\FileInputUtility::getSessionControlFiles Видимо нужно сначала зарегистрировать файл через \Bitrix\Main\UI\FileInputUtility::registerFile, но думаю, что должен быть готовый кейс для обновления изображения в hl-блоке
Здесь действительно никто не знает как обновить картинку для элемента hl-блока?
А в чем сложность сделать такое поле для раздела инфоблока, например, и посмотреть формат данных, прилетающих на вход?
Не очень понял что имеете в виду. Разные же кейсы: в первом случае hl с entity manager, а во втором api инфоблоков... Я правильно понял, что файл нужно зарегистрировать сначала через \Bitrix\Main\UI\FileInputUtility::registerFile?
вы uf-поле заполняете. инфоблоки к нему никак не относятся.
Понимаю, что не относятся. Вы мне это сообщение адресовывали?
Естественно. для разделов инфоблоков можно создавать uf-поля. соответственно, все проверять там.
Все еще не очень понимаю как мне это поможет обновить картинки у элемента hl-блока )
ну, посмотрите то же самое (формат входных данных) на странице редактирования элемента hl-блока, если уж так хотите. сами uf-поля ничем не отличаются ни в разделах, ни в hl-блоке. в последнем только хранилище подменяется.
Но все-таки мне не нужна форма. Нужно просто разово обновить картинки. И для этого создание картинки через CFile::SaveFile, как выяснил, не подходит
Я не сказал, что вам нужна форма. Я сказал - посмотрите правильный формат входных данных. На форме - т.е. в месте, где все работает.
Обсуждают сегодня