Bien le bonjour/bonsoir,
Il s'agit d'un problème esthétique et ce, parce que un label ne reçoit pas la classe label-control issue du Bootstrap Twitter.
Donc, la page s'affiche ainsi.

J'ai trouvé une solution qui m'aide bien à "pré-aligner" le formulaire horizontalement mais ce n'est pas encore tout à fait ça. Je vous donne le code de la config du helper Form afin de vous donner un coup de main:

<?php
Configure::write('FormOptions', array(
    'class' => 'form-horizontal', 
    'inputDefaults' => array(
        'format' => array('before', 'label', 'between', 'input', 'error', 'after'), 
        'between' => '<div class="controls">', 
        'after' => '</div>', 
        'div' => 'control-group', 
        'error' => array('attributes' => array('class' => 'help-inline')),
        'label' => array('attributes' => array('class' => 'control-label')) // Ligne correcte #oupas ?
    ),
));

Cordialement, lapin-math

6 réponses


Maenhyr
Réponse acceptée

tu n'es pas obligé d'utiliser un plugin pour ça, tu peux aussi utiliser les label du FormHelper : http://book.cakephp.org/2.0/fr/core-libraries/helpers/form.html#FormHelper::label.

Personnellement, je n'aime pas trop utiliser $this->Form->input(), ok il créé tout mais justement on ne peut pas gérer le placement ou alors il faut écrire un max de code dans des tableaux,... Je préfère générer un label, un input avec $this->Form->text() et l'erreur moi même. Ca permet plus de choix en terme visuel et ergonomique ensuite.

Bonsoir,

Pas d'attribue pour le label, exemple :

<?php
Configure::write('FormOptions', array(
    'class' => 'form-horizontal', 
    'inputDefaults' => array(
        'format' => array('before', 'label', 'between', 'input', 'error', 'after'), 
        'between' => '<div class="controls">', 
        'after' => '</div>', 
        'div' => 'control-group', 
        'error' => array('attributes' => array('class' => 'help-inline')),
        'label' => array('class' => 'control-label'),
    ),
));

Cordialement

l4p1n
Auteur

Bonsoir,
Pas autre chose à faire ? J'ai bien enlevé la clef attributes et toujours la même chose :/

Cordialement

l4p1n
Auteur

@GyZmO Je vais m'y mettre. Il y aura peut-être d'autres prises de tête :P Mais je vais tester car ton plugin est fort intéressant !

l4p1n
Auteur

@prbaron Après une migraine (je dois l'admettre), ta méthode semble beaucoup plus légère au final. Je modifie la View.

[Edit]
J'ai modif la View et ça fonctionne à merveille ! Reste à faire une fonction et le tour est joué !