Webshop/public/shop/shop_lkw.html

80 lines
2.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
Diese Seite zeigt alle LKW-Produkte des Webshops an.
Die Produkte werden dynamisch von der API geladen.
Bei einem Fehler wird eine passende Fehlermeldung angezeigt.
-->
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Shop - LKW's</title>
<!-- Haupt-CSS-Datei -->
<link rel="stylesheet" href="/Styles/styles-main.css">
<!-- Icons -->
<link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
<!-- Script zum Laden von Header/Footer -->
<script src="/header_footer"></script>
</head>
<body>
<div class="wrapper">
<!-- Header -->
<div id="header"></div>
<!-- Hauptinhalt -->
<main>
<section style="padding: 0px 30px; text-align: left;">
<h1>Unsere LKW Produkte</h1>
</section>
<section class="card-grid" id="products_lkw">
<!-- Dynamische Produkte (filtern nach Motorrad) -->
</section>
</main>
<!-- Fußzeiele -->
<div id="footer"></div>
</div>
<script>
// API-Abfrage, um Lkw-Produkte zu laden
fetch('/api/products/lkw')
.then(res => res.json())
.then(products => {
const container = document.getElementById('products_lkw');
container.innerHTML = ''; // sicherheitshalber leeren
// Für jedes Produkt eine Karte erstellen
products.forEach(product => {
const card = document.createElement('div');
card.classList.add('card');
// Die Karte mit Produktdaten füllen
card.innerHTML = `
<img src="${product.image_url}" alt="${product.name}">
<h3>${product.name}</h3>
<p>Preis: ${product.price}€</p>
<p>${product.description}</p>
<button class="add-to-cart" data-id="${product.id}">Zum Warenkorb hinzufügen</button>
`;
// Die Karte in den Container einfügen
container.appendChild(card);
});
})
// Fehlerbehandlung
.catch(err => {
console.error('Fehler beim Laden der LKW_Produkte:', err);
// Anzeige einer Fehlermeldung auf der Webseite
const container = document.getElementById('products_lkw');
container.innerHTML =
`<div class="error-message">
<h3>Fehler beim Laden der Produkte</h3>
<p>Es gab ein Problem beim Abrufen der Produktdaten.<br>
Wir arbeiten bereits daran bitte versuchen Sie es später erneut.</p>
</div> `;
});
</script>
</body>
</html>