2009-08-12 16 views
5

Mam dwie tabele: „restauracji” i „kuchni”, które są powiązane ze sobą w tabeli HABTMCakePHP postać pomocnika - HABTM wielokrotnego wyboru stylizacji

W kuchni stół ma pewne wpisy trwałych - 54 Ilość

Restauracja może mieć dowolną liczbę kuchni. Podczas pieczenia aplikacji pojawił się wybór wielokrotny. Ponieważ chciałem pól wyboru użyłem tablicy ("typ" => "wybierz", "wiele" => "pole wyboru"), aby przekształcić je w pola wyboru.

Teraz chcę ustawić sposób wyświetlania tych pól wyboru w kolumnach 4, jak widać na zrzucie ekranu poniżej.

img2.pict. com/82/BC/A4/1453459/0/200908111511.png

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

Powyższy kod produkuje wiele div wokół każdego elementu następująco

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

Próbowałem następujące:

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

ale ten kod usuwa tylko zewnętrzne elementy div i etykietę. Nie jestem w stanie kontrolować wewnętrznego pola, które pojawiają się wokół pojedynczych pól wyboru.

Jak używać FormHelper do usuwania lub dawania klas do wewnętrznych elementów div, więc mogę wykonać niestandardową stylizację? Czy istnieje inny sposób wypełnienia tej tabeli HABTM, aby uzyskać pożądany efekt?

Odpowiedz

4

Można obejść ten problem, wykonując zamiast niego polecenie $ form-> select(), a następnie zastosować atrybut stylu lub klasy, aby uzyskać pożądany wygląd.

Wydaje się mieć sens, aby nie używać funkcji $ form-> input(), jeśli zamierzasz mimo wszystko usunąć div i label.

2

Możesz stylizować elementy DIV za pomocą CSS.

<style> 
div.input div.checkbox { 
    float: left; 
    width: 50%; 
} 
</style> 
1

Można usunąć lub dać lekcje z wewnętrznymi div jak to

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

domyślnie używa ciasto: Klasa typu np - typ to pole następnie class="checkbox"

Powiązane problemy