CakePHP skjema helper - HABTM flere avkrysnings styling

stemmer
5

Jeg har to tabeller: restauranter og Kjøkken, som er relatert til hverandre ved en HABTM tabell

Tabellen retter har visst fast oppføringer - 54 nummer

En restaurant kan ha en rekke retter. På baking programmet dette kom med en flere velger. Siden jeg ønsket å sjekke boksene jeg brukte array ( 'type' => 'velg', 'multiple' => 'boksen') for å konvertere den til boksene.

Nå ønsker jeg å style den måten dette boksene vises i kolonner med 4 sett på skjermbildet nedenfor.

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

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

Koden ovenfor produserer mange tekstblokker rundt hvert element som følger

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

Jeg har prøvd følgende:

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

men denne koden fjerner bare de ytre divs og etiketten. Jeg er ikke i stand til å kontrollere den interne

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

som vises rundt de enkelte boksene.

Hvordan kan jeg bruke FormHelper å fjerne eller gi klasser til de interne divs, så jeg kan gjøre noe tilpasset styling? Eller er det noen annen måte å fylle denne HABTM bordet for å få den effekten jeg ønsker?

Publisert på 12/08/2009 klokken 16:23
kilden bruker
På andre språk...                            


3 svar

stemmer
4

Du kan komme rundt dette ved å gjøre $ form-> velg () i stedet, og bruke en stil eller klasse attributt for å få det til å se hvordan du vil.

Det synes å være fornuftig å ikke bruke $ form-> inngang () funksjonen hvis du skal fjerne div og merke uansett.

Svarte 13/08/2009 kl. 21:02
kilden bruker

stemmer
2

Du kan stilisere div elementer med CSS.

<style>
div.input div.checkbox {
    float: left;
    width: 50%;
}
</style>
Svarte 28/08/2009 kl. 05:39
kilden bruker

stemmer
1

Du kan fjerne eller gi klasser til de interne divs som dette

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

Som standard kake bruker: type klasse f.eks - skriv er boksen da class="checkbox"

Svarte 23/08/2012 kl. 07:54
kilden bruker

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