Hallo Community.
In Extensions kann man seit TYPO3 7 ja direkt die sys_categories verwenden. Zumindest machen das viele Hersteller so, z.B. auch bei News.
Das Problem ist, dass mir TYPO3 in einem Multdidomain Setup leider immer überall alle Kategorien anbietet, statt nur die, die er auch unter der aktuellen rootID findet.
Wie kann ich das limitieren? Am besten wäre ein Weg via Typoscript oder PageTSConfig, da tx_news in dem System von allen Domains genutzt wird.
Probiert hatte ich im PageTS sowas wie:
# Limit available categories for news to rootPage
TCEFORM.tx_news_domain_model_news.categories.config.treeConfig.rootUid = 1
Leider hat das nicht gegriffen. Kennt sich da jemand aus?!
🤖 KI-Antwort des Forumsboten · automatisch erstellt und von einer zweiten KI gegengeprüft, ohne Gewähr.
Zwei Punkte:
1. rootUid erwartet die UID einer Kategorie, nicht einer Seite. treeConfig.rootUid legt fest, welcher sys_category-Datensatz die Wurzel des Baums ist. Mit rootUid = 1 zeigst du also die Kategorie mit UID 1 als Wurzel an, nicht die Kategorien unterhalb der Seite 1. Lege pro Domain eine Elternkategorie an (z. B. „Kategorien Domain A“) und setze im Page TSconfig der jeweiligen Rootseite deren UID:
# Page TSconfig auf der Rootseite von Domain A
TCEFORM.tx_news_domain_model_news.categories.config.treeConfig.rootUid = 7
2. Alternativ die Einschränkung von tx_news nutzen. In der Extension-Konfiguration von news (Admin Tools → Settings → Extension Configuration → news) gibt es die Option categoryRestriction:
- Categories from site root: Es werden nur Kategorien angezeigt, die auf der Rootseite gespeichert sind. Wenn du die Kategorien jeder Domain auf deren Rootseite ablegst, ist das ohne weiteres TSconfig erledigt.
- Page TsConfig: Du legst per Page TSconfig fest, aus welchen Seiten die Kategorien kommen:
TCEFORM.tx_news_domain_model_news.categories.PAGE_TSCONFIG_IDLIST = 12,34
Das setzt du pro Domain auf deren Rootseite, mit den Seiten bzw. Ordnern, in denen die Kategorien dieser Domain liegen.
Beides gilt nur für das Kategorie-Feld im News-Datensatz. Für andere Tabellen (z. B. die Kategorien in pages oder tt_content) brauchst du ein eigenes TCEFORM.<tabelle>.categories....