diff --git a/src/pages/ch/sale/index.astro b/src/pages/ch/sale/index.astro index b8cd99c..e7bbfd6 100644 --- a/src/pages/ch/sale/index.astro +++ b/src/pages/ch/sale/index.astro @@ -22,7 +22,10 @@ const items = saleProducts();
{items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.sale.empty}

)} diff --git a/src/pages/ch/shop/[kategorie].astro b/src/pages/ch/shop/[kategorie].astro index 50b93bd..f53ec38 100644 --- a/src/pages/ch/shop/[kategorie].astro +++ b/src/pages/ch/shop/[kategorie].astro @@ -47,7 +47,10 @@ const items = productsByCategory(category.slug); )} {items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.shop.categoryEmpty}

)} diff --git a/src/pages/ch/shop/[kategorie]/[unterkategorie].astro b/src/pages/ch/shop/[kategorie]/[unterkategorie].astro index 7fefc8d..f558c00 100644 --- a/src/pages/ch/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/ch/shop/[kategorie]/[unterkategorie].astro @@ -44,6 +44,10 @@ const hatStoryBoxen = characterEntriesFuerStory.length > 0; const hatProduktKarten = characterEntriesMitProdukt.length > 0; const hatWeitere = weitere.length > 0; const komplettLeer = !hatProduktKarten && !hatWeitere; +// Gesamtzahl ECHTER Produkte auf dieser Seite (Charakter-Karten + "weitere Modelle" zusammen, +// OHNE die reinen Platzhalterkarten) — auf ausdrücklichen Wunsch (04.08.2026): auf wirklich jeder +// Seite mit einer Produktliste soll man auf einen Blick sehen, wie viele Artikel dort stehen. +const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; const platzhalterInStorySektion = hatStoryBoxen && komplettLeer; const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; --- @@ -52,6 +56,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; + {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

}
diff --git a/src/pages/en/sale/index.astro b/src/pages/en/sale/index.astro index 953f08c..87e10f1 100644 --- a/src/pages/en/sale/index.astro +++ b/src/pages/en/sale/index.astro @@ -22,7 +22,10 @@ const items = saleProducts();
{items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.sale.empty}

)} diff --git a/src/pages/en/shop/[kategorie].astro b/src/pages/en/shop/[kategorie].astro index c61b294..a27e776 100644 --- a/src/pages/en/shop/[kategorie].astro +++ b/src/pages/en/shop/[kategorie].astro @@ -47,7 +47,10 @@ const items = productsByCategory(category.slug); )} {items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.shop.categoryEmpty}

)} diff --git a/src/pages/en/shop/[kategorie]/[unterkategorie].astro b/src/pages/en/shop/[kategorie]/[unterkategorie].astro index f58f412..903d4ef 100644 --- a/src/pages/en/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/en/shop/[kategorie]/[unterkategorie].astro @@ -44,6 +44,10 @@ const hatStoryBoxen = characterEntriesFuerStory.length > 0; const hatProduktKarten = characterEntriesMitProdukt.length > 0; const hatWeitere = weitere.length > 0; const komplettLeer = !hatProduktKarten && !hatWeitere; +// Gesamtzahl ECHTER Produkte auf dieser Seite (Charakter-Karten + "weitere Modelle" zusammen, +// OHNE die reinen Platzhalterkarten) — auf ausdrücklichen Wunsch (04.08.2026): auf wirklich jeder +// Seite mit einer Produktliste soll man auf einen Blick sehen, wie viele Artikel dort stehen. +const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; const platzhalterInStorySektion = hatStoryBoxen && komplettLeer; const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; --- @@ -52,6 +56,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; + {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

}
diff --git a/src/pages/fr/sale/index.astro b/src/pages/fr/sale/index.astro index 65307a7..fefb034 100644 --- a/src/pages/fr/sale/index.astro +++ b/src/pages/fr/sale/index.astro @@ -22,7 +22,10 @@ const items = saleProducts();
{items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.sale.empty}

)} diff --git a/src/pages/fr/shop/[kategorie].astro b/src/pages/fr/shop/[kategorie].astro index 67efc6d..b131a19 100644 --- a/src/pages/fr/shop/[kategorie].astro +++ b/src/pages/fr/shop/[kategorie].astro @@ -47,7 +47,10 @@ const items = productsByCategory(category.slug); )} {items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.shop.categoryEmpty}

)} diff --git a/src/pages/fr/shop/[kategorie]/[unterkategorie].astro b/src/pages/fr/shop/[kategorie]/[unterkategorie].astro index 000ab17..3020a49 100644 --- a/src/pages/fr/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/fr/shop/[kategorie]/[unterkategorie].astro @@ -44,6 +44,10 @@ const hatStoryBoxen = characterEntriesFuerStory.length > 0; const hatProduktKarten = characterEntriesMitProdukt.length > 0; const hatWeitere = weitere.length > 0; const komplettLeer = !hatProduktKarten && !hatWeitere; +// Gesamtzahl ECHTER Produkte auf dieser Seite (Charakter-Karten + "weitere Modelle" zusammen, +// OHNE die reinen Platzhalterkarten) — auf ausdrücklichen Wunsch (04.08.2026): auf wirklich jeder +// Seite mit einer Produktliste soll man auf einen Blick sehen, wie viele Artikel dort stehen. +const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; const platzhalterInStorySektion = hatStoryBoxen && komplettLeer; const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; --- @@ -52,6 +56,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; + {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

}
diff --git a/src/pages/sale/index.astro b/src/pages/sale/index.astro index de085df..6d1200d 100644 --- a/src/pages/sale/index.astro +++ b/src/pages/sale/index.astro @@ -22,7 +22,10 @@ const items = saleProducts();
{items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.sale.empty}

)} diff --git a/src/pages/shop/[kategorie].astro b/src/pages/shop/[kategorie].astro index b58250c..3f05212 100644 --- a/src/pages/shop/[kategorie].astro +++ b/src/pages/shop/[kategorie].astro @@ -47,7 +47,10 @@ const items = productsByCategory(category.slug); )} {items.length > 0 ? ( -
{items.map((p) => )}
+ <> +

{t.shop.resultCount(items.length)}

+
{items.map((p) => )}
+ ) : (

{t.shop.categoryEmpty}

)} diff --git a/src/pages/shop/[kategorie]/[unterkategorie].astro b/src/pages/shop/[kategorie]/[unterkategorie].astro index 476e2f1..fc04da2 100644 --- a/src/pages/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/shop/[kategorie]/[unterkategorie].astro @@ -53,6 +53,10 @@ const hatWeitere = weitere.length > 0; // eingetragen hat: statt einer nackten Text-Zeile zeigen wir schon die spätere Karten-Optik, // nur eben mit Platzhaltern. Sobald echte Produkte dazukommen, verschwinden diese automatisch. const komplettLeer = !hatProduktKarten && !hatWeitere; +// Gesamtzahl ECHTER Produkte auf dieser Seite (Charakter-Karten + "weitere Modelle" zusammen, +// OHNE die reinen Platzhalterkarten) — auf ausdrücklichen Wunsch (04.08.2026): auf wirklich jeder +// Seite mit einer Produktliste soll man auf einen Blick sehen, wie viele Artikel dort stehen. +const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; // Die Platzhalterkarten müssen direkt in derselben Sektion wie die Story-Boxen stehen (nicht in // einer eigenen, zweiten
), sonst addieren sich zwei section-Innenabstände zu einem viel // zu großen Zwischenraum. Nur wenn es gar keine Story-Boxen gibt (z.B. Unterkategorien ohne @@ -65,6 +69,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; + {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

}
diff --git a/src/styles/global.css b/src/styles/global.css index a179514..2e07a34 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -105,6 +105,12 @@ img { max-width: 100%; display: block; } .text-center { text-align: center; } .small { font-size: 0.85rem; color: var(--c-text-muted); } +/* Statische Artikel-Anzahl (Kategorie-/Unterkategorie-/Sale-Seiten, siehe die jeweiligen + src/pages/.../index.astro) — server-seitig fest berechnet, anders als das gleich aussehende + #result-count im Shop-Filter, das sich per JS live an die Filter anpasst. Auf ausdrücklichen + Wunsch (04.08.2026): auf wirklich jeder Seite mit einer Produktliste soll man auf einen Blick + sehen, wie viele Artikel dort stehen, nicht nur im Haupt-Shop. */ +.result-count-static { margin: 0 0 1rem; } /* Buttons */ .btn {