2009-08-12 8 views
5

Tengo dos tablas: "restaurantes" y "Cocina" que están relacionados entre sí por una mesa HABTMCakePHP asistente de formulario - HABTM múltiples casilla estilo

Las cocinas de mesa tiene una serie de textos fijos - 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 dar un estilo a 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 divs alrededor de cada elemento de la siguiente manera

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

he intentado lo siguiente:

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

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

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

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

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

Respuesta

4

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

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

2

Puede estilizar los elementos DIV con CSS.

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

Puede eliminar o dar clases a los divs internos, como este

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

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

Cuestiones relacionadas