60 lines
2.1 KiB
HTML
60 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Shop - Motorräder</title>
|
||
<link rel="stylesheet" href="/Styles/styles-main.css">
|
||
<link href="https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css" rel="stylesheet">
|
||
<script src="/header_footer"></script>
|
||
</head>
|
||
<body>
|
||
<!-- Header -->
|
||
<div id="header-placeholder"></div>
|
||
|
||
<!-- Hauptinhalt -->
|
||
<section style="padding: 0px 30px; text-align: left;">
|
||
<h1>Unsere Motorrad Produkte</h1>
|
||
</section>
|
||
<section class="card-grid" id="products_motorrad">
|
||
<!-- Dynamische Produkte (filtern nach Motorrad) -->
|
||
</section>
|
||
|
||
|
||
<script>
|
||
fetch('/api/products/motorrad')
|
||
.then(res => res.json())
|
||
.then(products => {
|
||
const container = document.getElementById('products_motorrad');
|
||
container.innerHTML = ''; // sicherheitshalber leeren
|
||
|
||
products.forEach(product => {
|
||
const card = document.createElement('div');
|
||
card.classList.add('card');
|
||
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>
|
||
`;
|
||
container.appendChild(card);
|
||
});
|
||
})
|
||
.catch(err => {
|
||
console.error('Fehler beim Laden der Produkte:', err);
|
||
|
||
const container = document.getElementById('products_motorrad');
|
||
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>
|
||
|
||
<!-- Fußzeiele -->
|
||
<div id="footer"></div>
|
||
|
||
</body>
|
||
</html> |