Для реализации добавления файлов к заказу одним из вариантов может быть использование облачного файловго хостинга. Покупатель загружает свои файлы на хостинг, а в форму заказа добавляются ссылки на файлы по которым продавец может их посмотреть. Далее описана реализация подключения к корзине одного из таких файловых хотсингов:
- Регистрируемся в сервисе С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>
При настройки параметров загрузки файлов в профиле можно указать какие источники использовать, а также размер файлов и расширения доступны для загрузки. Среди доступных источников файлов у покупателя может быть камера мобильного устройства или адрес страницы в сети.