From 53e7bb158ad572e2a1d471235cfb3b71aa3d2255 Mon Sep 17 00:00:00 2001 From: qcigano Date: Tue, 4 Aug 2026 20:26:48 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20Produktanzahl=20auf=20Unterkategorie-Sei?= =?UTF-8?q?ten=20jetzt=20direkt=20=C3=BCber=20der=20ersten=20Produktkarte?= =?UTF-8?q?=20statt=20direkt=20unter=20dem=20Banner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auf den anderen Seitentypen (Kategorie, Sale) stand die Zahl schon immer direkt über dem Produkt-Grid. Auf den Unterkategorie-Seiten (Charakter-Familien wie Glasperlenarmbänder, Kuh, Wal, ...) saß sie dagegen in einem eigenen Container direkt unter dem Banner-Bild, mit teils viel Abstand zur ersten echten Karte (z.B. wenn vorher noch eine Charakter-Story-Box kommt). Jetzt wird sie direkt in der Sektion angezeigt, die auch wirklich die erste Produktkarte enthält — in allen 4 Sprachen (de/en/fr/ch). Co-Authored-By: Claude Sonnet 5 --- src/pages/ch/shop/[kategorie]/[unterkategorie].astro | 5 ++++- src/pages/en/shop/[kategorie]/[unterkategorie].astro | 5 ++++- src/pages/fr/shop/[kategorie]/[unterkategorie].astro | 5 ++++- src/pages/shop/[kategorie]/[unterkategorie].astro | 12 +++++++++++- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/pages/ch/shop/[kategorie]/[unterkategorie].astro b/src/pages/ch/shop/[kategorie]/[unterkategorie].astro index f3e8a73..db8a03b 100644 --- a/src/pages/ch/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/ch/shop/[kategorie]/[unterkategorie].astro @@ -50,6 +50,8 @@ const komplettLeer = !hatProduktKarten && !hatWeitere; const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; const platzhalterInStorySektion = hatStoryBoxen && komplettLeer; const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; +const zeigeAnzahlInStorySektion = hatStoryBoxen; +const zeigeAnzahlInWeitereSektion = !hatStoryBoxen && hatWeitere; ---
@@ -62,12 +64,12 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer;

{sub.bannerName ? sub.bannerName[lang] : sub.name[lang]}

- {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

} {hatStoryBoxen && (
+ {gesamtProdukte > 0 && zeigeAnzahlInStorySektion &&

{t.shop.resultCount(gesamtProdukte)}

}
{characterEntriesFuerStory.map(({ char }) => (
@@ -126,6 +128,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; {hatWeitere && (
+ {gesamtProdukte > 0 && zeigeAnzahlInWeitereSektion &&

{t.shop.resultCount(gesamtProdukte)}

} {hatProduktKarten &&

{t.shop.moreVariants}

}
{weitere.map((p) => )}
diff --git a/src/pages/en/shop/[kategorie]/[unterkategorie].astro b/src/pages/en/shop/[kategorie]/[unterkategorie].astro index 89f082e..5067884 100644 --- a/src/pages/en/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/en/shop/[kategorie]/[unterkategorie].astro @@ -50,6 +50,8 @@ const komplettLeer = !hatProduktKarten && !hatWeitere; const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; const platzhalterInStorySektion = hatStoryBoxen && komplettLeer; const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; +const zeigeAnzahlInStorySektion = hatStoryBoxen; +const zeigeAnzahlInWeitereSektion = !hatStoryBoxen && hatWeitere; ---
@@ -62,12 +64,12 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer;

{sub.bannerName ? sub.bannerName[lang] : sub.name[lang]}

- {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

}
{hatStoryBoxen && (
+ {gesamtProdukte > 0 && zeigeAnzahlInStorySektion &&

{t.shop.resultCount(gesamtProdukte)}

}
{characterEntriesFuerStory.map(({ char }) => (
@@ -126,6 +128,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; {hatWeitere && (
+ {gesamtProdukte > 0 && zeigeAnzahlInWeitereSektion &&

{t.shop.resultCount(gesamtProdukte)}

} {hatProduktKarten &&

{t.shop.moreVariants}

}
{weitere.map((p) => )}
diff --git a/src/pages/fr/shop/[kategorie]/[unterkategorie].astro b/src/pages/fr/shop/[kategorie]/[unterkategorie].astro index 4942018..513936a 100644 --- a/src/pages/fr/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/fr/shop/[kategorie]/[unterkategorie].astro @@ -50,6 +50,8 @@ const komplettLeer = !hatProduktKarten && !hatWeitere; const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; const platzhalterInStorySektion = hatStoryBoxen && komplettLeer; const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; +const zeigeAnzahlInStorySektion = hatStoryBoxen; +const zeigeAnzahlInWeitereSektion = !hatStoryBoxen && hatWeitere; ---
@@ -62,12 +64,12 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer;

{sub.bannerName ? sub.bannerName[lang] : sub.name[lang]}

- {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

}
{hatStoryBoxen && (
+ {gesamtProdukte > 0 && zeigeAnzahlInStorySektion &&

{t.shop.resultCount(gesamtProdukte)}

}
{characterEntriesFuerStory.map(({ char }) => (
@@ -126,6 +128,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; {hatWeitere && (
+ {gesamtProdukte > 0 && zeigeAnzahlInWeitereSektion &&

{t.shop.resultCount(gesamtProdukte)}

} {hatProduktKarten &&

{t.shop.moreVariants}

}
{weitere.map((p) => )}
diff --git a/src/pages/shop/[kategorie]/[unterkategorie].astro b/src/pages/shop/[kategorie]/[unterkategorie].astro index 9cb2e74..cdcfdd8 100644 --- a/src/pages/shop/[kategorie]/[unterkategorie].astro +++ b/src/pages/shop/[kategorie]/[unterkategorie].astro @@ -63,6 +63,15 @@ const gesamtProdukte = characterEntriesMitProdukt.length + weitere.length; // Charaktere), bekommen die Platzhalter ihre eigene Sektion wie bisher. const platzhalterInStorySektion = hatStoryBoxen && komplettLeer; const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; +// Nutzer-Wunsch 04.08.2026 (2. Runde): "die Produktanzahl soll über dem 1. Produkt sein und +// nicht oben genau unter dem großen Bild — überall." Vorher stand die Zahl direkt unter dem +// Banner, in einem eigenen Container, unabhängig davon, wo die erste echte Produktkarte +// überhaupt auftaucht (bei Unterkategorien mit Charakter-Story-Boxen lag zwischen Zahl und +// erster Karte z.B. noch die ganze Vorstellungs-Box). Jetzt steht die Zahl direkt über der +// ERSTEN Sektion, die wirklich Produktkarten zeigt — genau wie es shop/[kategorie].astro und +// sale/index.astro schon immer gemacht haben (dort war es nie falsch platziert). +const zeigeAnzahlInStorySektion = hatStoryBoxen; +const zeigeAnzahlInWeitereSektion = !hatStoryBoxen && hatWeitere; ---
@@ -75,12 +84,12 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer;

{sub.bannerName ? sub.bannerName[lang] : sub.name[lang]}

- {gesamtProdukte > 0 &&

{t.shop.resultCount(gesamtProdukte)}

}
{hatStoryBoxen && (
+ {gesamtProdukte > 0 && zeigeAnzahlInStorySektion &&

{t.shop.resultCount(gesamtProdukte)}

} {/* Die persönlichen Charaktergeschichten stehen als eigene, volle Breite Boxen ÜBER der Kartenreihe — getrennt von den "Shop"-Karten darunter, die nur Foto/Preis/Infos zeigen. Der Haupt-Charakter der Familie bekommt immer eine Box, weitere Charaktere nur mit @@ -147,6 +156,7 @@ const eigeneLeerSektion = !hatStoryBoxen && komplettLeer; {hatWeitere && (
+ {gesamtProdukte > 0 && zeigeAnzahlInWeitereSektion &&

{t.shop.resultCount(gesamtProdukte)}

} {hatProduktKarten &&

{t.shop.moreVariants}

}
{weitere.map((p) => )}