FormSelectMenu-Widget
Aus Contao Community Documentation
Version vom 8. April 2011, 12:34 Uhr von ScuM666 (Diskussion | Beiträge)
Um ein Selectfeld als Formular-Widget zu definieren, wird es folgendermaßen angelegt und anschließend an das Template übergeben.
<?php ... $inputRadius = new FormSelectMenu(); $inputRadius->id = 'searchradius'; $inputRadius->name = 'radius'; $inputRadius->label = 'Umkreis'; $inputRadius->class = 'select'; $inputRadius->options = array( array('value'=>'', 'label'=>'+0km'), array('value'=>'20','label'=>'+20km'), array('value'=>'50','label'=>'+50km'), array('value'=>'100','label'=>'+100km'), array('value'=>'150','label'=>'+150km'), array('value'=>'200','label'=>'+200km') ); $this->Template->inputRadius = $inputRadius; ... ?>
anschließend kann, wie auch beim FormTextfeld(), das Feld an der gewünschten Position ausgegeben werden.
<?php echo $this->inputRadius->generateLabel();?> <?php echo $this->inputRadius->generate();?>
Tipp: Es ist auch möglich das Array als serialisierten String an options direkt zu übergeben. z.B wenn die Werte bereits serialisiert aus einem Dataenbank-Feld kommen müssen diese nicht extra zum Array umgewandelt werden.
<?php ... $inputRadius = new FormSelectMenu(); $inputRadius->id = 'searchradius'; $inputRadius->name = 'radius'; $inputRadius->label = 'Umkreis'; $inputRadius->class = 'select'; $inputRadius->options = $serializedOptions; $this->Template->inputRadius = $inputRadius; ... ?>