Rigel-Computer


Das "HINWEISE"-Feld im Frontend dynamisch für die Produktion nutzen

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.

Mehrere Einträge im "Hinweise"-Feld anlegen - und auslesen

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 ansprechen - und auswerten

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.

Der Code

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&nbsp;| 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&nbsp; | 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&nbsp; | &nbsp;in der Liste 
}

Das Ergebnis

Alle Einträge werden gemäß ihrer Reihenfolge ausgegeben und in die im vorgenannten TS ge-wrappten Texte verpackt.

Autor, Ortsmarke - etc

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!

Für Redakteure "Hinweise" durch "Ortsmarke/Autor" ersetzen in der Flexform

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.