
TYPO3 – Eine News mit Kategorien über Powermail-Formular erstellen
Wer seinen Besuchern ermöglichen möchte, selbst News zu erstellen, wird dieses Snippet lieben. Wir benutzen in diesem Fall ein Powermail Formular, dass die eingetragenen Werte in die News Datenbanktabelle schreibt. Benutzer von den System Kategorien in TYPO3 kommen hierbei auch nicht zu kurz.
plugin.tx_powermail.settings.setup {
dbEntry {
1 {
_enable = TEXT
_enable.value = 1
_table = TEXT
_table.value = tx_news_domain_model_news
# Die ID des Sys-Ordners in der die News gelistet werden
pid = TEXT
pid.value = 22
tstamp = TEXT
tstamp.data = date:U
crdate = TEXT
crdate.data = date:U
cruser_id = TEXT
cruser_id.value = 1
# value 1 = News ist verborgen und muss erst freigegeben werden
hidden = TEXT
hidden.value = 1
# ueberschrift ist die Powermail Variable ohne {}
title = TEXT
title.field = ueberschrift
# untertitel ist die Powermail Variable ohne {}
teaser = TEXT
teaser.field = untertitel
# beschreibung ist die Powermail Variable ohne {}
bodytext = TEXT
bodytext.field = beschreibung
datetime = TEXT
datetime.data = date:U
# name ist die Powermail Variable ohne {}
author = TEXT
author.field = name
# e_mail ist die Powermail Variable ohne {}
author_email = TEXT
author_email.field = e_mail
# kategorie ist die Powermail Variable ohne {}
categories = TEXT
categories.field = kategorie
}
2 {
_enable = TEXT
_enable.value = 1
_table = TEXT
_table.value = sys_category_record_mm
tablenames = TEXT
tablenames.value = tx_news_domain_model_news
fieldname = TEXT
fieldname.value = categories
sorting_foreign = TEXT
sorting_foreign.value = 1
uid_local = TEXT
uid_local.field = kategorie
uid_foreign = TEXT
uid_foreign.field = uid_1
}
}
}
#Radiobutton Kategorien im Formular
lib.newsCategory = CONTENT
lib.newsCategory {
table = sys_category
select {
# Die ID des Sys-Ordners mit den Kategorien
pidInList = 22
}
renderObj = COA
renderObj {
10 = TEXT
10.field = title
20 = TEXT
20.value = |
30 = TEXT
30.field = uid
stdWrap.wrap = |[\n]
}
}
Im TYPO3 Backend muss nur noch dem Powermail Formular-Feld „Kategorie“ unter Erweitert bei „Aus TypoScript generieren“ noch „lib.newsCategory“ eingetragen werden:
Auswahl TYPO3 Kategorien begrenzen
Unser Skript gibt alle Kategorien aus die erstellt wurden. Wer jetzt nur bestimmte im Formular anzeigen lassen möchte, kann im select Bereich noch mit uidInList die Auswahl begrenzen:
...
select {
pidInList = 22
uidInList = 2,3
}
...
Getestet mit TYPO3 8.7.15, Powermail 6.0 und News 7.0.4
Leider werden diese so ausgegeben:
Restaurant|1Café|2Bekleidung Damen| 3Bekleidung Männer|4Optiker|5Werbeagentur|6Rechtsanwälte| 7Küchenstudios|8Druckerei|9Krankenhaus| 10Friseur|11Juwelier|12Metzgerei| 13Supermarkt|14Bank|15Bücherei| 16Einkaufen|17Stadtwerke| 18Therme Schwimmbad|19Weingut|20S