TYPO3 ist ja ein CMS, ein Content-Managment-System... ein Redaktions-System!
Soweit, so bekannt - bis trivial.
Die Intention, aus den vorhandenen Feldern im Backend "mehr rauszuholen", kam jedoch eben aus jener Namensgebung: Redaktions-System. Für Redakteure. Für z.B. eine Tages-Zeitung.
Bei der Zeitung bekommt - mindestens - jeder Aufmacher (der prominente Artikel auf jeder Seite) zu Beginn die sog. Ortsmarke (where did it take place?) und manchmal auch den Namen des Autors / der Autorin vorangestellt.
Das Redaktionssystem des Medienkonzerns, für den ich u.a. arbeite, muss der Redakteur manuell die Ortsmarke mit einem - seine Autorenschaft mit einem anderen - Tag versehen, und die jedesmal aus einer Tag-Liste auswählen... Es steht dann im Fließtext des Artikels.
Unschön.
Das in TYPO3 z.B. für Redakteure zu vereinfachen war die Herausforderung.
Das Feld führt ja ein Schattendasein, eigentlich nur für den Backend-User gedacht als z.B. Gedächtnisstütze, was auch immer.
Warum? Man kann es auch für das Frontend nutzen! So spart man sich beispielsweise eine komplett neue Spalte in der pages-Tabelle anzulegen.
Die Datensätze werden in das "Hinweise"-Feld eingetragen - und mit einem CR (Zeilenumbruch - Carriage-Return) voneinander getrennt.
Das Feld zu adressieren ist simpel: Ein Blick in phpMyadmin verrät: Es heißt rowDescription.
Wie jedoch die mit CR separierten Datensätze einzeln ansprechen?
Hier hilft es, zu wissen, dass der ASCII-Code eines Zeichens in TYPO3 mit der Eigenschaft token.char = XY angesprochen wird.
In unserem Falle also der Wert 10, denn er steht in der ASCII-Code-Tabelle für ein CR.
token.char = 10
Es soll also eine Trennung erfolgen, sobald das Durchsuchen des Datensatzes auf ein CR stößt. Um dies zu erreichen, wird mit
cObjNum = 1 || 2 || 3 (beliebig erweiterbar)
jedes einzelne Element des Datensatzes im Wortsinne DerReiheNach adressiert und ausgelesen.
Um dieses Element konkret nutzen zu können, wird es mit
1.current = 1
2.current = 1
3.current = 1
angesprochen.
Soweit zur Theorie.
Wir nutzen ein COA, um die separierten Elemente einzeln auszugeben.
Den Marker benennen wir beispielsweise mit ARTIKEL-ANLAUF, fügen ihn ins HTML-Template ein (natürlich noch per CSS formatieren), dann kann die Ausgabe starten:
ARTIKEL-ANLAUF >
ARTIKEL-ANLAUF = COA
ARTIKEL-ANLAUF.1 = TEXT
ARTIKEL-ANLAUF.1 {
data = page:rowDescription
split {
token.char = 10
cObjNum = 1 || 2 || 3
1.current = 1
}
wrap = Die erste Zeile mit | in der Liste <br>
}
ARTIKEL-ANLAUF.2 = TEXT
ARTIKEL-ANLAUF.2 {
data = page:rowDescription
split {
token.char = 10
cObjNum = 1 || 2 || 3
2.current = 1
}
wrap = Die zweite Zeile mit | in der Liste <br>
}
ARTIKEL-ANLAUF.3 = TEXT
ARTIKEL-ANLAUF.3 {
data = page:rowDescription
split {
token.char = 10
cObjNum = 1 || 2 || 3
3.current = 1
}
wrap = Die dritte Zeile mit | in der Liste
}
Alle Einträge werden gemäß ihrer Reihenfolge ausgegeben und in die im vorgenannten TS ge-wrappten Texte verpackt.
Um beim anfänglichen Beispiel zu bleiben:
Jetzt hätten alle Redakteure die Möglichkeit, im Backend einfach im Hinweise-Feld
a) die Ortsmarke (Hinweis1)
und
b) ihren Namen (Hinweis2)
einzutragen (entsprechende Formatierung durch den TYPO3-Backender voraussgesetzt - was simpel ist. s.o.)
Für den Redakteur entfällt der Aufwand, besagte Formatierungen seines Textes mit Fett/Kursiv/Tags und knows-the-heck selber gestalten zu müssen, komplett - ein Eintrag reicht!
Als I-Tüpfelchen hatte ich angedacht, dem Redakteur über die Gruppen/User-Rechte per TSconfig eine eigene Übersetzung des Backends zur Verfügung zu stellen, sodass statt "Hinweise" direkt drinsteht, was rein gehört, nämlich Autor + Ortsmarke.
Leider wird das Wort Hinweise in der locallang unter
typo3conf/l10n/de/core/Resources/Private/Language/Form/de.locallang_tabs.xlf
nur genau einmal codiert.
Effekt: Alle Flexformen ziehen diese Übersetzung an, und so steht dann überall "Ortsmarke/Autor" - auch in den einzelnen Content-Elementen des Backends... wen das nicht verwirrt...
So wurde das erste mal auf Eis gelegt.
Wäre ja auch nur eben das I-Tüpfelchen gewesen, aber doch ein ganz nettes, wie ich finde.