Загрузка файлов с drop областью и гибкой разметкой (компонент as-files)
Для этих целей используется отдельный сниппет с выводом отличающимся от компонента менеджер ресурсов.
Возможности компонента:
- загрузка путем перетаскивания файлов
- загрузка файлов без дополнительного диалогового окна
- возможность менять разметку компонента
- вывод списка загруженных файлов
- возможность удаления файлов
- вывод по файлу размера
<div class="as-files" data-code="productImages" data-itemid="5" data-disabledeleteconfirm="1" data-successmsg=" "></div>
Data параметры компонента:
- data-сode - это код менеджера ресурсов,
- data-itemID - к какой сущности привязаны файлы
- data-disableDeleteConfirm - если 1 то удаление файлов будет без запроса подтверждения действия
- data-successMsg - какое сообщение выводим при успешной загрузке через drop область (если пробел - то сообщение не выводится).
- data-progressStyle - настройка вида полоски progressbar, по умолчанию bg-primary progress-bar-striped
- data-uploadBtnText - текст на кнопке загрузить
- data-uploadBtnClass - css класс для кнопки загрузить
- data-uploadText - дополнительная подсказка рядом с кнопкой загрузить
- data-downloadArchive="1" - если 1, то будет кнопка скачивания всех файлов через упаковку в zip (обновление сентябрь 22).
- data-uploadBody="1", если непустое значение, то будет возможность кидать файл просто на страницу для загрузки файла (при этом на странице может быть только один такой элемент).
Кастом разметка компонента as files
<div class="as-files">
<script type="text/html" class="as-files-makeup hide"></script>
<script type="text/html" class="as-files-itemMakeup hide"></script>
</div>
В рамках этих элементов можно вставить дополнительные переменные.
Для makeup это:
- {files} - вывод списка загруженных файлов
- {edit-link} - вывод ссылки на управление типом ресурса (для администратора)
- {upload-button} - кнопка загрузки
- {dropzone} - область для загрузки файлов путем перетаскивания
- {progressbar} - полоска прогресса загрузки
Для itemMakeup есть следующие параметры:
- {id} - id файла
- {icon-url} - ссылка на превью
- {icon} - иконка рядом с названием
- {title} - название файла
- {url} - ссылка на файл
- {size} - вывод размера файла
- {delete-button} - кнопка удаления
Пример как работает кастом разметка для as-files - https://demo.web-automation.ru/list/watch/kastom-razmetka-v-zagruzchike-faylov-s-drag-n-drop---82
Когда требуется указать шаблоны разметки внутри кастом-формы
В случае использовании кастом разметки внутри формы не получится использовать script элементы (нельзя использовать теги script в кастом разметки форм).
В этом случае используем div вместо скрипт в таком виде (но помните, что желательно избежать испольования сниппетов в шаблонах (as-form, as-table и т.д.), т.к. они будут сразу рендериться при загрузке):
<div class="as-files">
<div class="as-files-makeup hide"></div>
<div class="as-files-itemMakeup hide"></div>
</div>
Коллбеки для as-files
Для компонента as-files работает 3 коллбека JS:
as.filescallbacks["code1_getItems"] = function(data, params){}
as.filescallbacks["code1_uploadComplete"] = function(data, evt){}
as.filescallbacks["code1_delete"] = function(data, params){}
- getItems - срабатывает при выводе файлов на странице
- uploadComplete - когда загружен файл
- delete - когда файл удален.
Отображение размера файлов в as files
Примечание: для отображения размера файлов необходимо следующее:
1. Добавить столбец size в as_rs_resources:
IF COL_LENGTH( 'as_rs_resources' , 'size' ) IS NULL
BEGIN
ALTER TABLE as_rs_resources
ADD size int NULL
END
2. Обновить процедуру as_resources_addResource:
ALTER PROCEDURE [dbo].[as_resources_addResource]
@itemID nvarchar(128),
@typeCode nvarchar(128),
@url nvarchar(512),
@thumbUrl nvarchar(512),
@title nvarchar(128),
@size int,
@username nvarchar(128)
AS
BEGIN
insert into as_rs_resources (url, thumbUrl, itemID, title, entityCode, ord, size)
values(@url, @thumbUrl, @itemID, @title,
(select top 1 entityCode from as_rs_types where lower(code) = lower(@typeCode)),
(select max(id)+1 from as_rs_resources),
@size
)
select Scope_identity() id
END
Google поиск по нашей документации
- Руководства
- Основа Falcon Space
- Основные компоненты
- Возможности
- Коммуникация с пользователем
- Дизайн, стилизация, юзабилити
- Лендинги
- Универсальный API
- Примеры интеграций
- Каталоги
- Навигация
- Документы
- Дополнительные компоненты
- Продвижение, SEO
- Системные моменты
- Системное администрирование
- HOWTO
- Таблицы
- Формы
- Загрузка файлов, картинок Работа с ресурсами. Управление картинками, документами на сайте Таблицы. Как сделать в колонке таблицы управление файлами (картинками или документами) Как увеличить размер подгружаемых файлов (как загружать большие файлы) Передача файлов по FTP Подгружаемые файлы Не грузится файл через менеджер ресурсов Поддержка Webp формата для оптимизации картинок Файлы загружаются на сервер, но при скачивании выходит ошибка 404.3 (загрузка ODT, Проблема с MIME типами) Массовая оптимизация картинок в менеджерах ресурсов Не выводятся картинки на сайте (401, 403 ошибка при загрузке картинок) Загрузка на форме текстовых файлов и обработка их в процедуре SaveItem Как установить JS callback после выполнения crop картинки Загрузка файлов с drop областью и гибкой разметкой (компонент as-files) Не отображается картинка юзера справа вверху Как изменить текст когда нет загруженных картинок в компонентеas-resourceManager? Обработка спецсимволов в названии файлов (чтобы не было проблем со скачиванием) Управление файлами на сервере (файловый менеджер) Как поставить водяной знак на картинку при загрузке Как приводить картинки к заданным размерам при загрузке на сайт Как оптимизировать качество картинок при загрузке на сайт Чем отличается код типа ресурса от типа объекта Как создавать для загружаемой картинки копии с разными размерами Как загружать файл, когда задействовано диалоговое окно Как загрузить файл по конкретному пути Как получить ссылку на ресурс Как установить права доступа на менеджер ресурсов? Как сделать возможность грузить только 1 фото Как поставить фильтр на типы файлов, как ограничиь форматы загрузки картинок? Как искать битые ресурсы, картинки Как дополнительно обработать событие после удаления или добавления фоток Как загружать фото с обрезкой Не выводятся картинки в менеджере ресурсов. Что делать? Как вставить менеджер ресурсов в форму с нужным itemID Массовая загрузка картинок в систему ресурсов Подбор оптимальных параметров менеджера ресурсов
- Работа с SQL
- HOWTO JS
- HOWTO Верстка
- Решение проблем
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта