Die Größe eines Inputfeldes…

… sollte – so möge man denken – auch über den Form-Helper in CakePHP definiert werden. Dass dies nicht funktioniert und auch nicht sinnvoll ist, soll der kurze Artikel verdeutlichen.

Innerhalb der Methode input können neben dem Namen des Feldes verschiedene Optionen innerhalb eines Arrays für die Eigenschaften angegeben werden. Mit maxLength zum Beispiel wird die maximale Anzahl an Buchstaben angegeben, die im Inputfeld erlaubt sind.

$form->input('name', array('maxLength' => '50'));

Eine Aussage zur Größe (zur Breite) des Feldes wird damit natürlich nicht festgelegt. Nun könnte man denken, dass mit einer Option “size” genau das erreicht wird. Ein Blick ins Manual von CakePHP zeigt jedoch, dass diese Option nicht existiert. (im Gegensatz zu der Meinung, die in diesem Post auf Nabble publiziert wird)

Und das ist auch gut so! Denn: Die Größe eines Inputfeldes ist natürlich ein Formatierungsproblem. Layout und Struktur sollten selbstverständlich weiterhin getrennt bleiben, weshalb die Größe eines Inputfeldes in einer CSS-Definition angegeben werden sollte.

Wer also zu Beginn mit der Standard CSS-Datei cake.generic.css arbeitet, der muss in dieser Datei die Angabe für die Größe (in diesem Beispiel vom Standard width:100% auf width:20% reduziert) der Inputfelder ändern.

input, textarea {
	clear: both;
	display: block;
	font-size: 140%;
	font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
	padding: 2px;
	width: 20%;
}

4 Gedanken zu “Die Größe eines Inputfeldes…

  1. $form->input(‘search_text’, array(‘style’ => ‘width: 250px;’));

    setzt die Größe des input Felds.

  2. Ja, stimmt. Danke Dir für den Hinweis. Letztendlich macht Cake daraus aber eine inline CSS-Anweisung.
    Ich finde jedoch, dass CSS zentral und möglichst getrennt von HTML genutzt werden sollte.

  3. Da gebe ich dir vom Grundsatz Recht, aber in der Praxis kommt man doch öfter in die Verlegenheit das ein oder andere Feld mit einer anderen Größe zu versehen.
    So ist es möglich das globale Css zu überschreiben und ein Feld in der Größe anzupassen.
    Solang es bei der Bestimmung der Größe bleibt, finde ich das noch legitim.

    Toller Blog übrigends, lande immer wieder bei dir ;)

  4. Klar, kann man so machen ;-)
    Danke für das Lob. Ich komm nur leider in letzter Zeit nicht mehr zum schreiben.
    Mal schauen, ob ich es demnächst wieder mehr schaffe…

Die Kommentarfunktion ist geschlossen.