Ayudante de formulario de CakePHP - Estilo de casilla de verificación múltiple de HABTM

votos
5

Tengo dos tablas: restaurantes y cocinas que están relacionadas entre sí por una tabla HABTM

La cocina de la mesa tiene ciertas entradas fijas - 54 número

Un restaurante puede tener cualquier cantidad de cocinas. Al hornear la aplicación, esto vino con una selección múltiple. Como quería casillas de verificación, utilicé array ('type' => 'select', 'multiple' => 'checkbox') para convertirlo en casillas de verificación.

Ahora quiero diseñar la forma en que estas casillas de verificación se muestran en columnas de 4 como se ve en la captura de pantalla a continuación.

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

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

El código anterior produce muchos div alrededor de cada elemento de la siguiente manera

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

He probado lo siguiente:

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

pero este código solo elimina los divs y la etiqueta externos. No soy capaz de controlar el interno

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

que aparecen alrededor de las casillas de verificación individuales.

¿Cómo puedo usar FormHelper para eliminar o dar clases a los divs internos, para que pueda crear un estilo personalizado? ¿O hay alguna otra forma de llenar esta tabla HABTM para obtener el efecto que quiero?

Publicado el 12/08/2009 a las 17:23
fuente por usuario
En otros idiomas...                            


3 respuestas

votos
4

Puede solucionar esto haciendo $ form-> select () en su lugar, y aplique un atributo de estilo o clase para que se vea como usted desea.

Parece lógico no utilizar la función $ form-> input () si va a eliminar el div y la etiqueta de todos modos.

Respondida el 13/08/2009 a las 22:02
fuente por usuario

votos
2

Puedes estilizar los elementos DIV con CSS.

<style>
div.input div.checkbox {
    float: left;
    width: 50%;
}
</style>
Respondida el 28/08/2009 a las 06:39
fuente por usuario

votos
1

Puede eliminar o dar clases a los divs internos como este

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

Por utiliza torta defecto: tipo de clase por ejemplo - tipo es casilla de verificación entonces class="checkbox"

Respondida el 23/08/2012 a las 08:54
fuente por usuario

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