Yii 2 Dropdownlist – prompt – id – class – autofocus

Um einer Dropdownliste  ein Prompt voranzustellen genügt folgender Eintrag:

Um dem Feld beim Aufruf den Focus zu geben, definiert man:

Um eine CSS-Klasse zuzuweisen, definiert man:

Will ich die Standard-CSS-Klasse ‚form-control‘ behalten, muss ich sie hier wieder mit hinein schreiben.

Analog kann ich der Dropdownliste auch eine eigene Id zuweisen. Und das Ganze kann natürlich kombiniert werden.

Weitere Infos zu Dropdownlisten in Yii 2 finden sich hier:

Default value für Dropdownliste

Eine Dropdownliste ersttellen

Yii 2 – select default value in dropdownlist

Um einer Dropdownlist in Yii 2 einen Defaultwert zuzuweisen, kann man wie folgt vorgehen:

Im Beispiel erstellt mir die statische Funktion getCountryList() ein Array, um die Dropdownliste zu befüllen (Details siehe hier). In dieser Liste hat Deutschland die Id ’56‘. Deshalb wird mit:

Deutschland bei einem neuen Datensatz selektiert. Bei einem Update erscheint in der Dropdownliste dann das Land, welches beim Erstellen des Datensatzes ausgewählt wurde.

Korrektur:

Bei einem Update muss man zunächst überprüfen, ob der Datensatz schon eine Country_id enthält. Ist dies der Fall, muss die Dropdownlist ohne Optionen aufgerufen werden:

Nur dann wird das vorher ausgewählte Land richtig dargestellt.

Yii 2 – GridView – Columns anpassen

Will man einer Spalte in einer GridView z.B. eine eigene CSS-Klasse mitgeben, dann geht das so:

 

 

Yii 2 – active Input

Mit ‚Html::activeTextInput lässt sich leicht ein Input-Feld vom Typ ‚text‘ erstellten. Aber was, wenn man als Typ ‚email‘, ’number‘, etc. verwenden will? Da hilft ‚Html::activeInput‘ weiter, denn hier kann man den Typen direkt angeben, z.B. ’number‘:

Im Beispiel wird ein Input-Feld vom Type ’number‘ definiert, welches dem Model des Formulars über das ‚attribute‘ zugeordnet wird. Im Options-Array kann man dann noch CSS-Klassen oder andere Html-Eigenschaften definieren. Hier z.B. ’step‘ bzw. ‚min‘ für den Typ ’number‘. Ausserdem kann man den Vorgabewert des Models mit ‚value‘ überschreiben.

Das geht natürlich auch mit ‚$form->field‘:

 

Yii 2 Active Form Field aufbohren

Häufig möchte man das ActiveForm Field aufbohren, um z.B. eine Maßangabe hinter das Input Feld zu schreiben. Das geht so:

Aus

wird:

Jetzt erscheint die Maßangabe ‚cm‘ hinter dem Input Feld. Im Beispiel habe ich dem Form Field noch eine zusätzlich CSS-Klasse, nämlich ‚medium-width‘ mitgegeben.

Quelle: http://stackoverflow.com/questions/23311242/yii2-activeform-field-add-html-code

ActiveForm in Yii 2

Wer mit Gii views generieren lässt, erhält schöne Formulare, die auf der Klasse ‚ActiveForm‘ basieren. Ein Texteingabefeld sieht dann etwa so aus:

wobei ’spaltendem‘ für die korrespondierende Spalte in der zugehörigen DB-Tabelle steht. Diese eine Zeile erzeugt dann den kompletten Html-Code mit umgebenden Div, dem Label, dem Input Feld sowie der etwaigen Fehlermeldung.

ActiveForm in Yii 2 weiterlesen