Zum Inhalt springen

Pflichtfeld in Abhängigkeit

Erstellt am 22. Juni 2011 · Noch keine Antworten

Tags: Frage

McGregor ·

Hallo!

Ich benutze die Extension "kiwi_accordion", um einige Inhalte in einem Akkordion anzuzeigen. Dazu muss man lediglich eine Checkbox im Inhaltselement setzen und gut :-)
Leider ist es zwingend erforderlich, dass eine Überschrift eingegeben wird.

Dazu hätte ich es gerne gehabt, dass bei der Aktivierung der Checkbox der Header automatisch zum Pflichtfeld wird. Leider habe ich dazu keine Informationen gefunden.

Ich habe mich deshalb mit einem Hook beholfen, der beim Speichern prüft, ob die Checkbox gesetzt und der Header leer ist. Wenn ja, dann wird ein Standardtext ("Bei Akkordion Überschrift benutzen!") in den Header geschrieben. Der Redakteur kann nun nachträglich den Text anpassen. Auf jedenfall ist der Header nie leer.

Schöner wäre es natürlich, wenn dies per JS funktionieren würde und das nette gelbe Ausrufezeichen erscheinen würde, wenn die Checkbox aktiviert wurde. Geht das? und wie?

Anbei mal der Hook, falls es jemanden interessiert...

localconf.php

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'fileadmin/class.tx_accordion_tcemainprocdm.php:tx_accordion_tcemainprocdm';

fileadmin/class.tx_accordion_tcemainprocdm.php

class tx_accordion_tcemainprocdm {

    function processDatamap_postProcessFieldArray ($status, $table, $id, &$fieldArray, &$reference) {
			if ($status == 'update' && $table == 'tt_content') {
				foreach ($reference->datamap['tt_content'] as $key=>$data) {
					// nur 1 Datensatz vorhanden ...
					if ($data['tx_kiwiaccordion_is_accordion']) {
						if ($data['header'] == '') $fieldArray['header'] = 'Bei Akkordion Überschrift benutzen!';
					}
				}
			}

    }

}

Grüße
McGregor