Для реализации добавления файлов к заказу одним из вариантов может быть использование облачного файловго хостинга. Покупатель загружает свои файлы на хостинг, а в форму заказа добавляются ссылки на файлы по которым продавец может их посмотреть. Далее описана реализация подключения к корзине одного из таких файловых хотсингов:
- Регистрируемся в сервисе Сloudinary.com
- После регистрации в сервисе потребуется запомнить параметры Cloud Name в разделе "Dashboard"
- Настроить параметры загрузки в разделе "Settings → Upload → Upload presets"
- Подключаем виджет к сайту, размещая код на странице, после кода подключения корзины (используем данные из предыдущих пунктов):
<script src="https://upload-widget.cloudinary.com/global/all.js" type="text/javascript"></script>
<script type="text/javascript">
var myWidget = cloudinary.createUploadWidget({
cloudName: 'Cloud Name',
uploadPreset: 'Upload presets'}, (error, result) => {
if (!error && result && result.event === "success") {
console.log('Done! Here is the image info: ', result.info);
one_file = '<div class="easynetshop-uploaded">'+
'<input type="hidden" class="easynetshop-customfield" name="Файл" value="'+result.info.secure_url+'">' +
result.info.original_filename +
' <button onclick="ens_jQuery(this).closest(\'.easynetshop-uploaded\').remove();">x</button> ' +
' </div>';
ens_jQuery('#upload_widget').before(one_file);
}
})
</script>
- Далее потребуется добавить кнопку показа виджета в корзину. Для этого размещаем код:
<script type="text/javascript">
document.addEventListener("EasyNetShopLoaded", function(event) {
var fhtml = '';
fhtml += '<div class="easynetshop-modal-body-self" style="padding:10px 20px;">' +
' <div class="easynetshop-form-group-self"> ' +
' <button id="upload_widget" class="cloudinary-button" onclick="myWidget.open();">Загрузить файлы</button> ' +
' </div>' +
'</div>' ;
ens_jQuery('.easynetshop-modal-cart .easynetshop-footer').before(fhtml);
}, false);
</script>
При настройки параметров загрузки файлов в профиле можно указать какие источники использовать, а также размер файлов и расширения доступны для загрузки. Среди доступных источников файлов у покупателя может быть камера мобильного устройства или адрес страницы в сети.