assistant formulaire CakePHP - multiple style de case à cocher HABTM

voix
5

J'ai deux tables: « restaurants » et « cuisines », qui sont liés les uns aux autres par une table HABTM

Les cuisines de table a certaines entrées fixes - 54 numéro

Un restaurant peut avoir un certain nombre de cuisines. Sur la cuisson de l'application c'est venu avec un multiple de sélection. Comme je voulais cocher les cases i utilisé array ( 'type' => 'select', 'multiple' => 'case') pour le convertir en cases à cocher.

Maintenant, je veux le style de la façon dont cette cases à cocher sont affichées dans les colonnes de 4 comme on le voit sur la capture d'écran ci-dessous.

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

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

Le code ci-dessus produit de nombreux div autour de chaque élément comme suit

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

Je l'ai essayé ce qui suit:

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

mais ce code supprime uniquement les divs extérieur et étiquette. Je ne suis pas en mesure de contrôler l'interne

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

qui apparaissent autour des cases simples.

Comment puis-je utiliser le FormHelper pour enlever ou donner des cours aux divs internes, donc je peux faire un peu de style personnalisé? Ou est-il une autre façon de remplir ce tableau HABTM pour obtenir l'effet que je veux?

Créé 12/08/2009 à 17:23
source utilisateur
Dans d'autres langues...                            


3 réponses

voix
4

Vous pouvez contourner ce problème en faisant $ form-> select () à la place, et appliquer un attribut de style ou de la classe pour l'obtenir à regarder la façon dont vous voulez.

Il semble logique de ne pas utiliser la fonction $ form-> input () si vous allez retirer le div et l'étiquette de toute façon.

Créé 13/08/2009 à 22:02
source utilisateur

voix
2

Vous pouvez styliser les éléments DIV avec CSS.

<style>
div.input div.checkbox {
    float: left;
    width: 50%;
}
</style>
Créé 28/08/2009 à 06:39
source utilisateur

voix
1

Vous pouvez supprimer ou donner des cours aux divs internes comme celui-ci

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

Par gâteau par défaut utilise: le type de classe, par exemple - type est alors case à cocher class="checkbox"

Créé 23/08/2012 à 08:54
source utilisateur

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