Neues Checkbox Feature für TYPO3 v10

|David Steeb
Beitragsbild für Artikel New Checkbox Feature for TYPO3 v10

Bei b13 arbeiten wir seit mehr als 15 Jahren mit TYPO3. TYPO3 bekommt inzwischen wieder viel Aufmerksamkeit, Nutzer loben die neuen Funktionen, die Benutzeroberfläche, die Benutzerfreundlichkeit und die Geschwindigkeit - um nur einige Dinge zu nennen. Aber wir erhalten immer noch Beschwerden von Redakteuren. „Die Auswahl an Optionen ist überwältigend.“ ... „Ich weiß nicht, wann ich zwischen 'Seite' und 'Liste' wechseln soll.“ ... „Ich möchte nur eine Seite hinzufügen, warum muss ich eine Unmenge von Formularfeldern ausfüllen?“

Wenn wir ehrlich sind, dann sind viele dieser Beschwerden auf Versäumnisse oder Faulheit der Integratoren bei der Einrichtung dieser Websites zurückzuführen. Wer sich die Zeit nimmt, sein Backend zu bereinigen, bevor er Redakteure zum Einloggen einlädt, wird die meisten dieser Probleme von vornherein vermeiden. Seit den Tagen, als das Backend noch gelb war, hat sich die TYPO3-Community (und das Interface!) sehr weiterentwickelt. Viele Standardeinstellungen wurden im Hinblick auf eine editorfreundliche Handhabung vorgenommen. Die Zeiten, in denen man ein Häcken setzen musste, damit TYPO3 etwas *nicht* macht, sind lange vorbei… :-)

Aber selbst in einem ausgefeilten Backend, das nur die Formularfelder anzeigt, die wirklich benutzt und zu jedem Zeitpunkt des Redaktionsprozesses benötigt werden, stehen die Redakteure vor Entscheidungen, die sie nicht treffen können oder wollen. Nur ein paar Beispiele von frustrierten Redakteuren in unserer digitalen Kummerbox:

Warum muss ich mich entscheiden, diese Seite in die Suche einzubeziehen? Sollte das nicht out-of-the-box funktionieren? Ich meine, nicht jeder sucht nach der gleichen Sache, also warum sollte ich dann festlegen, diese Seite in die Suchergebnisse aufzunehmen?
—  G.M., Customer Success Specialist
Ich verstehe nicht, warum irgendjemand jemals etwas von der Indexierung ausschließen würde. Warum können Redakteure diese Kontrollkästchen und Einstellungen nicht einfach unangetastet lassen?
—  P.B., Website Performance Analyst
Ich bin neu in dieser ganzen Online-Redaktionssache. Warum zwingt mich dieses TYPO10 dazu, Dinge zu entscheiden, von denen ich keine Ahnung habe? Ich vermisse die alten Zeiten, in denen ich einfach meine Meinungskolumne in WordPerfect geschrieben habe - es war so viel einfacher.
—  M.P., Very Senior Editor

Neues TCA-Feld renderType „checkboxThreeturn“ für TYPO3 v10.4 LTS

Wie ihr alle wisst, haben viele Leute sehr hart an der Fertigstellung der nächsten großen Version von TYPO3 gearbeitet, die in den kommenden Wochen veröffentlicht werden soll. TYPO3 v10.4 ist die nächste LTS-Version (Long Term Support) und wird bis 2023 unterstützt werden. Obwohl Version 10.3 offiziell die „Feature Freeze“-Version war, konnten wir eine zusätzliche Verbesserung einbauen, die die Redakteure lieben werden: „Ja/nein/vielleicht“-Checkboxen!

 

Wenn Du Dir bei einer Einstellung nicht sicher bist, wähle einfach den neuen “undecided” Status!
Wenn Du Dir bei einer Einstellung nicht sicher bist, wähle einfach den neuen “undecided” Status!

Das TCA (Table Configuration Array) für die Anzeige von Feldern vom Typ Checkbox bietet jetzt einen neuen renderType: checkboxThreeturn. Damit können Redakteure eine Checkbox-bezogene Frage sozusagen "unbeantwortet" lassen ... ja, nein, ich weiß nicht!

So lässt sich diese neue Funktion implementieren:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
'checkbox_b13' => [
'exclude' => 1,
'label' => 'checkbox_b13 single checkbox including an undecided option',
'config' => [
'type' => 'check',
'renderType' => 'checkboxThreeturn',
'items' => [
[
0 => '',
1 => '',
],
],
],
],

Der Standardwert für die Option „unentschieden“ ist „NULL“; möglicherweise muss man sein SQL entsprechend anpassen. Es ist auch möglich, dem Zustand „unentschieden“ einen bestimmten Wert hinzuzufügen, etwa so:

1
2
3
4
5
6
7
        'items' =>
[
0 => '',
1 => '',
]
],
'undecidedDBValue' => 'whatever',

Natürlich kannst Du ebenfalls alle anderen, in der TCA Reference beschriebenen Features nutzen, wie z.B. das Hinzufügen eines kurzen Erklärungstextes. So haben Redakteure eine Entscheidungsgrundlage (oder eben eine ergänzende Info zur Nicht-Entscheidung).

1
2
3
4
5
6
7
8
9
'checkbox_b13' => [
'exclude' => 1,
'label' => 'checkbox_b13 single checkbox including an undecided option',
'description' => 'It is important to know that you are not *forced* to make
a decision here. If you are unsure what to do, don\'t feel like making a
decision right now, or not up for sharing your opinion with other editors
for now, just leave this field untouched.'
,
'config' => [
...

„Ich bin auf 10.4-Dev und kann das einfach nicht zum Laufen bringen.“

Der eifrige Entwickler in dir wollte also dieses raffinierte Feature direkt in Aktion sehen, aber es hat nicht funktioniert? Wie du sicher verstehen kannst, gibt es technische Implikationen, die deine Produktionsinstanzen beeinflussen könnten, wenn dieses Verhalten zu einem so späten Zeitpunkt im Release-Zyklus, nur wenige Tage vor der endgültigen Veröffentlichung von TYPO3 v10.4, standardmäßig aktiviert wäre. Daher muss diese Funktion explizit freigeschaltet werden, um sie verfügbar zu machen.

TYPO3 hat in Version 9.4 „Feature Toggles“ eingeführt, die dazu verwendet werden können, neue Funktionen (im TYPO3-Kern) einzuführen ohne das bestehende Verhalten negativ zu beeinflussen. Diese Funktionsschalter sind Teil der Admin-Tools und befinden sich unter dem Reiter „Einstellungen“, wenn man über System Maintainer Zugriffsrechte verfügt:

Aktiviere die neue Three Turn Checkbox mit dem Install Tool
Aktiviere die neue Three Turn Checkbox mit dem Install Tool

Wenn du mit Versionskontrolle arbeitest (und das solltest du auch!), wirst du sehen, dass diese Feature-Toggle-Einstellungen zu deiner LocalConfiguration.php hinzugefügt wurden:

1
2
3
4
5
6
7
8
9
10
'SYS' => [
'features' => [
'TypoScript.strictSyntax' => false,
'checkboxThreeturnAprilFoolsDay' => true,
'fluidBasedPageModule' => false,
'redirects.hitCount' => false,
'simplifiedControllerActionDispatching' => false,
'unifiedPageTranslationHandling' => true,
],
],
LocalConfiguration.php

Open Source Software entwickelt sich in rasantem Tempo

Dieses Feature ist ein weiteres Beispiel für die großartigen Dinge, die man mit einem Open-Source-Projekt wie TYPO3 tun kann: es reparieren, es besser machen, es erweitern, um den Anforderungen der realen Welt (und unentschlossenen Inhaltsredakteuren!) gerecht zu werden. Wir lieben es, dass das System, das wir jeden Tag benutzen, so flexibel ist. Die Entwicklung von TYPO3 geht schnell voran, es werden hilfreiche Funktionen hinzugefügt, die Backend-Oberfläche der Redakteure optimiert und Dinge verfeinert, die es schon seit Jahren gibt - alles dank der dynamischen Entwicklergemeinde, zu der wir gehören und auf die wir stolz sind.

Wir tragen viel zum TYPO3 System bei, insbesondere zum TYPO3-Core. Wenn du oder deine Redakteure etwas im System reparieren oder verbessern wollen, sind wir in der idealen Position, dir zu helfen. Frag uns nach dem Bug, der dir stinkt, oder nach dem Hinzufügen der Funktion, die du dringend benötigst — als individuelle Erweiterung zu deiner TYPO3-Instanz oder Feature für den TYPO3-Core. Mehr über unsere TYPO3 CMS-Services erfährst du hier.

Hier erfährst Du mehr über unsere TYPO3 CMS Services.