Всем привет!
Работаю с битрикс недавно, делаю небольшой модуль.
Суть такова:
1. Открывается страница записи
2. На ней через подгружается некий контент
3. После загрузки контента в определенное в нем место подгружается загрузчик файлов битрикс
// тут код выше
ob_start();
echo \Bitrix\Main\UI\FileInput::createInstance(array(
"name" => "test_image",
"description" => false,
"upload" => true,
"allowUpload" => "I",
"medialib" => true,
"fileDialog" => true,
"cloud" => true,
"delete" => true,
"maxCount" => 1
))->show(1);
$menu_img = ob_get_contents();
ob_end_clean();
$data = array(
'img' => $menu_img,
'json' => $imageMap['SETTINGS']
);
echo \Bitrix\Main\Web\Json::encode($data);
На странице в JS:
BX.ajax({
url: '/bitrix/admin/mymodule.item_get_save_data.php',
method: 'POST',
cache: false,
dataType: 'json',
data: {
saveID: id
},
onsuccess: function (data) {
var parsed = 0;
var parsed = JSON.parse(data.json);
cb(parsed);
$('#control-image_url').after('<div class="form-control">' + data.img + '</div>');
},
onfailure: function (data) {
console.log('Failed to verify loaded image map.');
console.log('Original JSON: ');
console.log(stripSlashes(data));
cb(false);
}
});
Результат такой:
И вот теперь вопрос, как потом сохранить выбранный файл?
В идеале мне нужно чтобы человек выбрал файл, он загрузился и путь к картинке добавился в текстовое поле выше