[TYPO3-german] FLUID f:form.select haben nicht die gewünschten Einträge

Robert Wildling rowild at gmx.net
Sat Jul 13 12:38:15 CEST 2013


Hi,

Es ist mir gelungen, eine Liste aus FE-Usern anhand der FE-Group an ein 
Fluid-Template zu schicken:

class TerminController extends 
\TYPO3\CMS\Extbase\Mvc\Controller\ActionController {

	/**
	 * terminRepository
	 *
	 * @var \rowild\Lsbtermine\Domain\Repository\TerminRepository
	 * @inject
	 */
	protected $terminRepository;

	/**
	 * areaRepository
	 *
	 * @var \rowild\Lsbtermine\Domain\Repository\AreaRepository
	 * @inject
	 */
	protected $areaRepository;

	/**
	 * action list
	 *
	 * @return void
	 */
	public function listAction() {

		if (!isset($this->settings['areaId'])) {
			$this->view->assign('areas', "The areaId must be set in TypoScript or 
FlexForm.");
		} else {
			$areas = $this->areaRepository->findAreas($this->settings['areaId']);
			$this->view->assign("areas", $areas);
		}

		$termine = $this->terminRepository->findAll();
		$this->view->assign('termine', $termine);
	}

}


Die Repostiory-Klasse sieht so aus:

class AreaRepository extends \TYPO3\CMS\Extbase\Persistence\Repository {

	/**
	 * findAreas
	 *
	 * @var $areaId   \The ID of the fe_group that holds the sections
	 * @return AreaRepository
	 */
	public function findAreas($areaId){
		$query = $this->createQuery();
		$query->getQuerySettings()->setReturnRawQueryResult(TRUE);
		$query->statement('SELECT * from fe_users WHERE usergroup=' . $areaId);
		return $query->execute();
	}

}


<f:debug>{areas}</f:debug> wirdt mir auch die derzeit 5 Ergebnisse 
korrekt aus:

array(5 items)
    0 => array(40 items)
    1 => array(40 items)
    2 => array(40 items)
    3 => array(40 items)
    4 => array(40 items)

Detail:

array(5 items)
    0 => array(40 items)
       uid => '1' (1 chars)
       pid => '30' (2 chars)
       tstamp => '1373545647' (10 chars)
       username => '***' (9 chars)
       password => '***' (34 chars)
       usergroup => '1' (1 chars)
       disable => '0' (1 chars)
       starttime => '0' (1 chars)
       endtime => '0' (1 chars)
       name => 'Büro Wolfsberg' (15 chars)
       first_name => '' (0 chars)
       middle_name => '' (0 chars)
       last_name => '' (0 chars)
       address => '***' (20 chars)
       telephone => '04352/***' (11 chars)
       fax => '04352/***' (13 chars)
       email => 'w***@***' (9 chars)
       crdate => '1371153001' (10 chars)
       cruser_id => '2' (1 chars)
       lockToDomain => '' (0 chars)
       deleted => '0' (1 chars)
       uc => NULL
       title => '' (0 chars)
       zip => '9400' (4 chars)
       city => 'Wolfsberg' (9 chars)
       country => 'Österreich' (11 chars)
       www => '' (0 chars)
       company => '' (0 chars)
       image => '' (0 chars)
       TSconfig => '' (0 chars)
       fe_cruser_id => '0' (1 chars)
       lastlogin => '0' (1 chars)
       is_online => '0' (1 chars)
       tx_extbase_type => 'Tx_Extbase_Domain_Model_FrontendUser' (36 chars)
       felogin_redirectPid => '' (0 chars)
       felogin_forgotHash => '' (0 chars)
       termin => '0' (1 chars)
       zielgruppe => '0' (1 chars)
       veranstaltungsort => '0' (1 chars)
       vortragsperson => '0' (1 chars)



Im Fluid-Template soll nun ein Select-Menu gerendered werden mit diesen 
Anweisungen:

<f:form class="tx-lsbtermine-form" method="post" action="update" 
name="areaMenue" id="areaMenue">

	<f:form.select prependOptionLabel="Alle Bereiche" 
prependOptionValue="-1" property="area" options="{areas}" 
optionLabelField="name" optionValueField="uid" value="{area.uid}" 
onclick="document.areaMenue.submit();" />

</f:form>


Es werden auch 5 (insg. 6) options generiert, aber:
- es werden keine Namen angezeigt (->optionLabelField="name")
- es wird automatisch durchnummeriert, nicht nach uid 
(optionValueField="uid")
- und eine "selected" gibt es nirgends (value="{area.uid}")


Was muss ich tun, damit der value in den Options-Feldern der uid 
entspricht? Der "Name" (zB Büro Wolfsberg) angezeigt wird? Und der 
"selected"-Value korekt gesetzt wird?


Danke! Beste Grüße, Robert


More information about the TYPO3-german mailing list