diff options
| author | daniel <noreply@maennchen1.de> | 2026-09-24 11:24:12 +0200 |
|---|---|---|
| committer | daniel <noreply@maennchen1.de> | 2026-09-24 11:24:12 +0200 |
| commit | a95de0fa4cd3c617ef08a9679a6c32ae5f676fda (patch) | |
| tree | b78bd9fa23550e7dfd03cc693032cce5e9048236 /views/mods/mod_orderupload/smartcheckout_checkout.phtml | |
| parent | 19a8938fa3b41a6c6ed1e15c20586f860f4a637b (diff) | |
- Feature: PHP 8.3 Kompatibilität
- Feature: SmartCheckout - Ersatz für EinSeitenCheckout
- Feature: Optik im Frontend an moderne Themes angepasst
Diffstat (limited to 'views/mods/mod_orderupload/smartcheckout_checkout.phtml')
| -rw-r--r-- | views/mods/mod_orderupload/smartcheckout_checkout.phtml | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/views/mods/mod_orderupload/smartcheckout_checkout.phtml b/views/mods/mod_orderupload/smartcheckout_checkout.phtml new file mode 100644 index 0000000..7da51cb --- /dev/null +++ b/views/mods/mod_orderupload/smartcheckout_checkout.phtml @@ -0,0 +1,77 @@ +<?php + + /** + * Template für den Bestellupload im SmartCheckout + * + * Aufbau und Verhalten wie beim Upload zum Produkt (smartcheckout_row.phtml): Dateiliste mit Größe und + * Löschen, darunter die Dateiauswahl. Die Datei wird direkt nach der Auswahl hochgeladen (data-sc-upload, + * siehe smartcheckout.js), entfernt wird über data-sc-send, beides landet in + * wpsg_mod_orderupload::smartcheckout_ajax(). Der Block wird bei jeder Antwort neu geliefert. + */ + + $arUploads = (array)($_SESSION['wpsg']['wpsg_mod_orderupload'] ?? []); + $uploadsum = floatval($this->view['wpsg_mod_orderupload']['uploadsum'] ?? 0); + $maxweight = (string)($this->view['wpsg_mod_orderupload']['maxweight'] ?? ''); + $bRequired = ($this->get_option('wpsg_mod_orderupload_optional') != '1'); + $bMulti = ($this->get_option('wpsg_mod_orderupload_multifiles') == '1'); + $arMessages = (array)($this->view['wpsg_mod_orderupload']['messages'] ?? []); + $arAllowed = (array)($this->view['wpsg_mod_orderupload']['allowedext'] ?? []); + $strAccept = implode(',', array_map(function($ext) { return '.'.$ext; }, $arAllowed)); + +?> +<div class="sc_orderupload"> + + <h2 class="sc_title"><?php echo esc_html__('Dateiupload', 'wpsg'); ?><?php if ($bRequired) { ?><span class="sc_required" aria-hidden="true">*</span><?php } ?></h2> + + <div class="sc_upload"> + + <div class="sc_upload_label"><?php echo esc_html__('Upload zur Bestellung', 'wpsg'); ?></div> + + <div class="sc_upload_target"> + + <?php /* Meldungen des letzten Uploads bzw. Entfernens, wie beim Upload zum Produkt direkt am Block */ ?> + <?php foreach ($arMessages as $message) { ?> + <div class="sc_upload_message sc_upload_message_<?php echo esc_attr($message['type']); ?>"><?php echo wp_kses_post($message['text']); ?></div> + <?php } ?> + + <?php if (wpsg_isSizedArray($arUploads)) { ?> + <ul> + <?php foreach ($arUploads as $ou_index => $ou) { ?> + <li> + <a href="<?php echo esc_url($ou[2]); ?>" target="_blank" rel="noopener"><?php echo wpsg_hspc($ou[0]); ?> <span class="size">(<?php echo esc_html(wpsg_formatSize($ou[3])); ?>)</span></a> + <a + href="#" + class="removeLink" + role="button" + data-sc-send="wpsg_mod_orderupload_remove" + data-sc-value="<?php echo intval($ou_index); ?>" + data-sc-confirm="<?php echo esc_attr__('Sind Sie sich sicher, dass Sie dieses Dokument aus der Bestellung entfernen möchten?', 'wpsg'); ?>" + title="<?php echo esc_attr__('Upload entfernen.', 'wpsg'); ?>" + ><img src="<?php echo esc_url(WPSG_URL.'views/gfx/bin_x.png'); ?>" alt="<?php echo esc_attr__('Löschen', 'wpsg'); ?>" /></a> + </li> + <?php } ?> + </ul> + <?php } ?> + + <?php if ($uploadsum > 0) { ?> + <input + type="file" + name="wpsg_mod_orderupload_file<?php echo (($bMulti)?'[]':''); ?>" + data-sc-upload="1" + data-sc-upload-wait="<?php echo esc_attr__('Bitte warten ', 'wpsg'); ?>" + <?php if ($strAccept !== '') { ?>accept="<?php echo esc_attr($strAccept); ?>"<?php } ?> + <?php echo (($bMulti)?'multiple="multiple"':''); ?> + aria-label="<?php echo esc_attr__('Upload zur Bestellung', 'wpsg'); ?>" + /> + <?php } ?> + + </div> + + <div class="sc_hint"><?php echo esc_html(wpsg_translate(__('Es stehen Ihnen #1# Mb von #2# Mb für den Upload zur Verfügung', 'wpsg'), $uploadsum, $maxweight)); ?></div> + <?php if (wpsg_isSizedArray($arAllowed)) { ?> + <div class="sc_hint"><?php echo esc_html(wpsg_translate(__('Erlaubte Dateiendungen: #1#', 'wpsg'), implode(', ', $arAllowed))); ?></div> + <?php } ?> + + </div> + +</div> |
