Templates
PingWoo bietet die Möglichkeitglichkeit, Plugin-Templates individuell anzupassen. Plugin-Diese Templates werden z.B.beispielsweise für Staffelpreise,Staffelpreise, Dokumente,Dokumente, Zusatzartikel,Zusatzartikel, Dateiupload,Dateiuploads oder Metadaten etc. verwendet.
Vorbereitung
Damit PingWoo Ihre angepassten Templates erkennt, müssen sich diese im Ordner "pingwoo" innerhalb Ihres Themes befinden.
Beispielhafte Verzeichnisstruktur im Theme

accessoires.php
Dieses Template dient um Zusatzartikel anzuzeigen.
<?php
/**
* @var array $cross_sell_ids
*/
wc_set_loop_prop("columns", 4);
woocommerce_product_loop_start();
echo "<div class=\"cross-sells pingag\">";
foreach ($cross_sell_ids as $cross_sell_id) {
$post_object = get_post($cross_sell_id);
setup_postdata($GLOBALS["post"] =& $post_object);
wc_get_template_part("content", "product");
}
echo "</div>";
woocommerce_product_loop_end();
wp_reset_postdata();
documents.php
Dieses Template dient um Dokumente anzuzeigen.
<?php
/**
* @var array $documents
*/
?>
<div class="documents pingag">
<?php foreach ($documents as $document) : ?>
<a class="document" href="<?= $document["src"] ?>" target="_blank">
<img class="thumbnail" src="/?serve-img=pdf-thumbnail.png" alt="thumbnail"/>
<p class="name"><?= $document["name"] ?? basename($document["src"]) ?></p>
</a>
<?php endforeach; ?>
</div>
file_upload.php
Dieses Template dient um im Warenkorb ein Dateiupload anzuzeigen.
<div class="modal fade" id="file_upload" tabindex="-1" role="dialog"
aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form method="POST" action="?action=pingwoo_upload_document" enctype="multipart/form-data">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span
aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">Datei(en) zur Shop-Bestellung hochladen:</h4>
</div>
<div class="modal-body">
<label for="files"></label>
<input type="file" name="files[]" id="files" multiple>
</div>
<div class="modal-footer">
<button data-dismiss="modal" type="button" class="button">Abbrechen</button>
<button type="submit" class="button">Hochladen</button>
</div>
</form>
</div>
</div>
</div>
<?php
$uploaded_files = WC()->session->get("uploaded_files");
if (!empty($uploaded_files)) {
?>
<div class="uploaded-files">
<span class="title">Dateien für Bestellung:</span>
<?php foreach ($uploaded_files as $file) : ?>
<div class="file">
<div class="actions">
<a class="remove" href="?action=pingwoo_remove_document&name=<?= $file["safe_name"] ?>">X</a>
<span class="name"><a href="<?= $file["url"] ?>" target="_blank" download><?= $file["name"] ?></a> (<?= $file["size"] ?> Bytes)</span>
</div>
<span><?= date("d.m.Y H:i", $file["time"]) ?></span>
</div>
<?php endforeach; ?>
</div>
<?php
}
?>
<div class="upload-files">
<h4>Datei(en) zur Shop-Bestellung hochladen:</h4>
<a class="button" data-toggle="modal" href="#file_upload">
<?= apply_filters(PING_PLUGIN_ID . "_button_icon", "file_upload") ?>
Datei(en) hochladen
</a>
</div>
graduations.php
Dieses Template dient um Staffelpreise anzuzeigen.
<?php
/**
* @var string $unit
* @var array $discounts
*/
use pingag\includes\classes\Functions;
use pingag\includes\plugins\Translator;
?>
<div class="graduations pingag">
<table class="pingag">
<thead>
<tr>
<th><?= Translator::get_translation("global", "quantity"); ?></th>
<th><?= str_replace("{{Unit}}", $unit, Translator::get_translation("global", "price")); ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($discounts as $discount) : ?>
<tr>
<td><?php echo $discount["Quantity"]; ?></td>
<td><?php echo wc_price($discount["Price"]) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>