Skip to main content

Templates

Diese Funktionalität ist ab PingWoo v0.4.57.2 verfügbar.

PingWoo bietet die Möglichkeit, Plugin-Templates individuell anzupassen. Diese Templates werden beispielsweise für Staffelpreise, oder Dokumente verwendet.

Wir verwenden den üblichen WordPress Standard. WooCommerce z.B. nutzt den gleichen Mechanismus. 

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">&times;</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 pingag">
        <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 pingag">
    <h4>Datei(en) zur Shop-Bestellung hochladen:</h4>
    <a class="button" data-toggle="modal" href="#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\plugins\Translator;

?>

<div class="graduations pingag">
    <table>
        <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>