Label qui ne s'affiche pas correctement avec le helper Form

Par l4p1n, il y a 12 ans


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

Bahamut45, il y a 12 ans

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, il y a 12 ans

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

Cordialement

l4p1n, il y a 12 ans

@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 !

Maenhyr, il y a 12 ans

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.

l4p1n, il y a 12 ans

@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é !