[TYPO3-german] lib/div Formular - Select-Element

Silvio Lindstedt silvio-lindstedt at web.de
Tue Aug 5 13:13:47 CEST 2008


Hallo,

hat schon jemand Erfahrung mit dem SELECT-Element der lib/div Klassen?
Mein Problem ist da ich es nicht hinbekomme dass das selected Attribut 
gesetzt wird.

Ich habe dazu im View eine Funktion zur Erzeugung des Formular-Objektes 
erstellt:

function makeOrderByForm () {
	$tempForm = new tx_lib_phpFormEngine($this->controller);
	$tempForm->addOptionList('selectOrderBy', array(
		'username-%-asc'=>'Name (A-Z)',
		'username-%-desc'=>'Name (Z-A)',
		)
	);
	$this->set('orderByForm', $tempForm);
}

Im Template wird dann das FORM-Element gerendert:

$orderByForm = $this->get('orderByForm');
$orderByForm->printBegin('usersOrderByForm');
$orderByForm->printSelect('selectOrderBy', 
array('onchange'=>'javascript:document.getElementById(\'usersOrderByForm\').submit();'));
$orderByForm->printEnd();

In der formBase Klsse von lib wird über die Funktion:

function _checked($key, $value) {
	$options = $this->get($key);
	if( is_array($options) && in_array((string) $value, $options) || 
(string) $options == (string) $value)
		return TRUE;
	else
		return FALSE;
}

geprüft ob das selected Attribut gesetzt wird oder nicht. $options ist 
laut t3lib_div::debug kein Array (Was wohl darauf hinweist das 
$this->get($key) den $key-Wert nicht findet. Dieser ist aber vorhanden.) 
somit wird aus dieser Funktion immer FALSE geliefert.

Ist das jetzt ein Bug in der Klasse oder mach ich was falsch?

Nutze die TER Version lib/div 0.1.0

Gruß
Silvio


More information about the TYPO3-german mailing list