IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

setwidget dans configure() [1.x]


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Par défaut setwidget dans configure()
    Bonjour,

    J'ai créé des boutons radio à l'aide d'un widget dans ma classe xxxxForm (donc issu de ma BasexxxxForm).

    Le rendu html me donne une balise <ul class="radio_list>.
    Comment je peux faire pour modifier ce rendu? où est le css avec le "radio_list"?

    L'affichage est de haut en bas et je cherche à le rendre de gauche à droite.

    ma classe xxxxForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $this->setWidget('etio_id', new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('etio'), 'expanded' => true, 'add_empty' => false)));
        $this->setValidator('etio_id', new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('etio'),'required' => true)));
    et ma basexxxxForm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $this->setWidgets(array(
          'id'         => new sfWidgetFormInputHidden(),
          'contact_id' => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('contact'), 'add_empty' => true)),
          'etio_id'    => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('etio'), 'add_empty' => false)),
          'content'    => new sfWidgetFormTextarea(),
          'created_at' => new sfWidgetFormDateTime(),
          'updated_at' => new sfWidgetFormDateTime(),
        ));
     
        $this->setValidators(array(
          'id'         => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 'empty_value' => $this->getObject()->get('id'), 'required' => false)),
          'contact_id' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('contact'), 'required' => false)),
          'etio_id'    => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('etio'))),
          'content'    => new sfValidatorString(array('max_length' => 20000, 'required' => false)),
          'created_at' => new sfValidatorDateTime(),
          'updated_at' => new sfValidatorDateTime(),
        ));

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Ceci n'est pas un problème symfony mais un problème de CSS.

    Le fait de les afficher en liste est sémantiquement correcte pour ce type de liste.

    Modifies le view.yml du module pour attribuer un fichier css spécifique à cette vue.
    Crées le fichier css.
    Ensuite tu modifies le comportement de la class radio_list pour que les balise li passent en mode en ligne et non plus en container.

    Les css sont des outils très puissants, il ne faut pas hésiter à les utiliser. Il ne faut jamais construire le html pour avoir une sortie (enfin, ça, ce n'est pas, hélas, toujours vrai).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 74
    Par défaut
    Merci je vais creuser tout ça. Même si je connais les rudiments, je ne me suis pas encore bien mis dedans car je sais que le css est un gros morceau.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Un gros morceau, c'est sur, mais c'est le morceau qui fera l'affichage.

    Pour ton truc, regarde du côté des css qui affichent des menus, tu en trouveras beaucoup qui transforment les listes comme tu le veux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction undefined dans configuration exotique
    Par Kogratte dans le forum jQuery
    Réponses: 7
    Dernier message: 30/03/2012, 20h09
  2. Erreur de syntaxe dans configuration des alertes de réplication
    Par slefevre01 dans le forum Réplications
    Réponses: 1
    Dernier message: 25/07/2011, 14h51
  3. probleme dans "./configure"
    Par interhossa007 dans le forum Linux
    Réponses: 3
    Dernier message: 17/10/2008, 08h54
  4. phpadminldap perdu dans configuration
    Par Félix62 dans le forum Réseau
    Réponses: 3
    Dernier message: 14/03/2008, 18h28
  5. [BDE] Plus rien dans Configuration/Drivers/Native
    Par Harry dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/02/2005, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo