Hallo,
möchte eine Selectbox rendern lassen als Suchfilter, welche wie folgt aussehen soll.
<select>
<option value="0" selected="selected">Alles</option>
<option value="1">Wert0</option>
<option value="2">Wert1</option>
.....
</select>
Da habe ich mir die Extension "sjr_offers" angeschaut. Diese macht folgendes im OfferController
$this->view->assign('regions',array_merge(array(0 => 'Alle Stadtteile'),$this->regionRepository->findAll());
Dachte ich mir das ist es und wollte es implementieren in meiner Extension. Leider blieb die Selectbox leer. Daraufhin die extension selbst ausprobiert und siehe da, dort blieb Sie auch leer. Folgender View füllte aber die SelectBox:
$this->view->assign('regions',$this->regionRepository->findAll());
Hat jemand ne Idee wie man so etwas implementieren kann oder was der Fehler ist? Muss man das selber schreiben im Template?
Danke im vorraus.
mfg
schittl
Ich denke das Problem ist, das du ein normales Array mit einem Array von Region-Objekten zusammenführst.
Probiers mal so:
$region_default = t3lib_div::makeInstance('Hier_Klassen_Name_Von_Region_Objekt');
$region_default->setValue('0'); // oder UID?
$region_default->setName('Alle Stadtteile');
$region_all[] = $region_default;
$region_repository = t3lib_div::makeInstance('Hier_Klassen_Name_Von_Region_Repository');
$regions = $region_repository->findAll();
foreach ($regions as $temp) {
$region_all[] = $temp;
}
$this->view->assignMultiple(array(
'regions' => $region_all,
));
So hat es für mich mit einer Sprachauswahl funktioniert. (Da fehlt auch die Defaultsprache in der db)
Wenn jemand einen kürzeren Weg hat bitte melden 🙂
Danke erstmal. Habe nur noch folgendes Problem mit
$region_default->setUid('0');
Folgendes steht in der Ausgabe:
<option value="Tx_SjrOffers_Domain_Model_Region:0">Alle Stadtteile</option>
<option value="1">Ost</option>
<option value="2">West</option>
<option value="3">Nord</option>
Warum nicht nur 0? Bei bestätigen des Suchformulars kommt dann bei Auswahl Option 1 folgendes:
transformToObject() accepts only numeric values and arrays
Hallo!
Du kannst die Select-Box mit Default-Wert auch als ViewHelper implementieren. Der Aufwand ist relativ gering.
Eine Anleitung findest Du unter: http://www.anendo.com/flow3/default-option-fur-eine-select-box/
Viele Grüße,
Xandi