CakePHP Form Helfer - HABTM mehrere Kontrollkästchen Styling

stimmen
5

Ich habe zwei Tabellen: „Restaurants“ und „Küche“, die miteinander durch eine HABTM Tabelle verwendet ist

Die Tabelle Küchen haben bestimmte Einträge festgelegt - 54 Anzahl

Ein Restaurant kann eine beliebige Anzahl von unterschiedlichen Gerichten hat. Auf Backe die Anwendung kam dies mit einer Mehrfachauswahl. Da i Kontrollkästchen wollte ich verwendet array ( ‚Typ‘ => ‚wählen‘, ‚multiple‘ => ‚Option‘) es in Kästchen zu konvertieren.

Jetzt mag ich die Art und Weise, um Stil dieses Kontrollkästchen in Spalten von 4 angezeigt werden, wie auf dem Screenshot unten zu sehen.

img2.pict. com / 82 / bc / a4 / 1.453.459 / 0 / 200908111511.png

echo $form->input('Cuisine', array('type' => 'select', 'multiple' => 'checkbox'));  

Der obige Code erzeugt viele divs um jedes Element wie folgt

http://img2.pict.com/1a/a3/0a/1453457/0/200908121509.png

Ich habe folgendes versucht:

echo $form->input('Cuisine', array( 'type' => 'select', 'multiple' => 'checkbox', 'div' => false, 'label' => false));

aber dieser Code entfernt nur die außerhalb divs und Label. Ich bin nicht in der Lage, die internen zu steuern

<div class=checkbox>
<label for=CuisineCuisine2>Andhra</label>

die erscheinen, um die einzelnen Kontrollkästchen.

Wie kann ich die Formhelper auf die internen divs zu entfernen oder geben Klassen, so kann ich einige benutzerdefinierte Styling tun? Oder gibt es eine andere Möglichkeit, diese HABTM Tabelle zu füllen den Effekt zu erhalten, ich will?

Veröffentlicht am 12/08/2009 um 17:23
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
4

Sie könnten dies zu umgehen, indem $ form-> select () stattdessen tun, und einen Stil oder eine Klasse anwenden Attribut, um es zu sehen, wie Sie wollen.

Es scheint sinnvoll zu sein, um nicht die $ form- verwenden> input () Funktion, wenn Sie die div und beschriften sowieso gehen, zu entfernen.

Beantwortet am 13/08/2009 um 22:02
quelle vom benutzer

stimmen
2

Sie können die DIV-Elemente mit CSS stilisieren.

<style>
div.input div.checkbox {
    float: left;
    width: 50%;
}
</style>
Beantwortet am 28/08/2009 um 06:39
quelle vom benutzer

stimmen
1

Sie können Klassen auf die internen divs wie diese entfernen oder geben

$this->Form->input("hello_test",array('type'=>'checkbox','div'=>'class_name'));

Standardmäßig Kuchen verwendet: Typklasse zB - Typ Checkbox dann class="checkbox"

Beantwortet am 23/08/2012 um 08:54
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more