Das Problem ist folgender Eintrag in Deinem TypoScript:
pidInList.field = pid
Das führt dazu, dass TYPO3 einen Datensatz in der Tabelle sys_category
sucht mit der PID der aktuellen Seite. Also müsstest Du jetzt die Kategorie immer auf der Elternseite speichern, der Du die Kategorie zuweist. Das ist natürlich totaler Quatsch und wäre auch sehr unübersichtlich.
Du hast jetzt meiner Meinung nach 2 Möglichkeiten:
1) Du lässt den Eintrag komplett weg. Dann greift der Default Eintrag pidInList = this
. Dann müssen alle verwendeten Kategorien auf der Elternseite der Einstiegseite gespeichert sein. Sollte das die Root-Page (pid=0) sein, dann müsstest Du tatsächlich folgenden Eintrag setzen: pidInList = root,this
(evt. auch ohne this. Musst Du mal testen).
2) Wenn Deine Kategorien alle in einem Sys-Folder(Bsp. PID=123) gespeichert sind (Was am meisten Sinn machen würde), dann kannst Du einfach folgenden Eintrag setzen:
pidInList = 123
Jetzt sollten auch die Kategorien für Deine Unterseiten(Children) geladen werden.
BTW:
Du hast oben folgenden Zugriff auf die Kategorien der Unterseiten beschrieben:
my_containers.0.children.categories
Richtig wäre:
my_containers.0.children.0.categories
Aber das war wahrscheinlich nur ein Fehler beim Einfügen denke ich. 🧐 😉