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

Symfony PHP Discussion :

Retirer les <li> d'un form avec checkboxes: autres suggestions? [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier Avatar de Vicrabb
    Femme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Points : 102
    Points
    102
    Par défaut Retirer les <li> d'un form avec checkboxes: autres suggestions?
    Bonjour,

    Je me lance dans ce sujet. Le rendu des formulaires avec checkboxes m'a un peu choquée visuellement avec les listes à puces visibles. J'ai bien trouvé deux solutions (avec certains inconvénients qui m'ont un peu perturbées pendant quelques jours avant que je trouve un moyen de les contourner hier) et j'ai bien entendu envisagé d'aller changer ce rendu directement à la source (mais je ne sais plus si j'ai abandonné par crainte de mettre la pagaille ou parce que je n'ai pas trouvé le fichier où se trouvait ce code).

    J'ai également trouvé de la documentation sur le sujet mais cela concernant sfWidgetFormChoice et non sfWidgetFormDoctrineChoice (qui est le widget utilisé).

    Donc ma question est: existe-t-il une autre manière de retirer ces listes à puce autre que:
    - bidouiller le code source
    - utiliser la fonction strip_tags()
    - faire un ccs spécialement pour cela
    ?


    Si cela est possible avec un nouveau renderer, que l'on m'explique alors comment le faire pour sfFormDoctrineChoice? Car aux dernières nouvelles, je ne peux pas lui mettre un renderer_class et je n'ai trouvé aucune documentation à ce sujet-là (d'où un post dans mon blog à ce propos avec mes deux malheureuses solutions).

    Pour info, les deux manières que j'ai trouvé sont:

    -strip_tags avec un str_replace pour avoir une liste verticale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php 
    //remplace les fins de li par des br pour un affichage vertical
    $form2 = str_replace("</li>", "<br/>",$form);
     
    //impression du formulaire en indiquant les tags autorisés
    echo strip_tags($form2,'<a><input><tr><b><td><th><label><select><option><ul><textarea><br/>');
    - ccs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #nouveau css form.css
    li{
    list-style-type: none;
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //code dans _form.php
    <?php use_stylesheet('form.css') ?>

    Symfony par une débutante - Elgg - PHP

    Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom..
    "The cake is lie" - Doug Rattman, Portal

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    Dans le xhtml résultant de symfony (et dans tout xhtml) seul la notion de sémantique devrait être prise en compte.

    Et à ce niveau, la liste, pour une série de case à cocher me semble parfaitement adaptée.

    La gestion du rendu peut être parfaitement obtenue par une css adaptée.

    Je pense que mettre les cases et leurs libellé dans des div imbriqués ou tout autre système est une mauvaise idée.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  3. #3
    Membre régulier Avatar de Vicrabb
    Femme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 66
    Points : 102
    Points
    102
    Par défaut
    Pour moi, il est hors de question de faire des divs imbriquées, j'utilise la solution de la CSS adaptée et non strip_tags() si cela peut te rassurer . Je pense aussi que celle-ci est mieux adaptée, après avoir testé les deux il y a une ou deux semaines (du moins pour le test sans le str_replace et avec la règle css directement dans le main.css).

    J'ai mis la version strip_tags uniquement pour montrer que j'avais planché sur le problème (d'ailleurs, c'est normal de venir ici après avoir cherché et tenté de résoudre son problème) et pour éviter que quelqu'un me donne cela comme réponse.

    Mais en voyant ta réponse, tu me confirmes quelque part qu'il n'y a pas d'autres possibilités à part celles énumérées. Je vais laisser le sujet encore non-résolu un peu histoire de voir si d'autres ont quelque chose à proposer.

    Symfony par une débutante - Elgg - PHP

    Je suis peut-être diplômée en archéologie mais je ne fouille pas le net pour décrypter le langage SMS, pour lire du code sans la balise du même nom..
    "The cake is lie" - Doug Rattman, Portal

  4. #4
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    En fait, ce n'est pas tant dans symfony qu'est le problème, mais dans le html. Il faut que le fichier html reste sémantiquement viable et la liste reste le moyen par excellence pour l'énumération.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Points : 108
    Points
    108
    Par défaut
    Oui mais quand le client se fou de l' excellence il faut malheureusement l' écouter gentiment et trouver une solution. Si on est pas obliger de passer 15 jours pour faire qqchose de simple, c 'est le paradis !

  6. #6
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    Si tu as un client qui s'occupe du html généré et non pas de la page vue, tu as là un client exceptionnel ! En général, il ne savent même pas qu'il y a du HTML et du CSS.

    Je ne sais pas s'il faut le garder où le changer...

    Il reste à lui faire comprendre que la génération d'une liste ne change rien dans le cadre de l'affichage avec une CSS et rend la page plus lisible si la CSS n'est pas prise en charge par le terminal.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 212
    Points : 108
    Points
    108
    Par défaut
    Non le client il veut que ca s' 'affiche comme il a imaginé ou pu voir sur d' autres sites, effectivement le css, et même le html c' est de l' hébreu pour lui.

    Alors parlé avec lui du respect des standards du web...

    Ce que je voulais dire c' est que de plus en plus de client ne connaissent rien au web mais malgré tout des nouveaux clients qui ont des besoins très précis car inspiré des sites existants (Les fameux like qqchoses).

    Pour ces clients la, seul le résultat compte avec bien souvent la réflexion suivante, la zappattitude :

    vous savais pas faire , je vais voir aillleurs...
    ça me marche pas comme je veux, je vais voir aillleurs...
    c 'est trop compliqué, je vais voir aillleurs...
    je comprends pas, je vais voir aillleurs... si c'est plus simple
    etc etc..


    et je parle pas des budgets très serrés qui vont avec.

    Dans ce contexte, il est impensable de passer 2 semaines à trouver comment implémenter ou tout simplement faire fonctionner un formulaire simple quand en dev classique il faut moins de 2h.

    J' ai de plus en plus de doute sur 'Développez plus vite avec un framework'.
    moins sur "explose tes délais avec un framework'.

    C' était le ptit coup de gueule du matin..

    Bonne journée.

  8. #8
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    Pour le cas présent de cases à cocher, c'est plus un problème d'utilisation correcte des CSS qu'un problème de génération du html.

    Utiliser le html à des fin uniques de mise en page, tel que c'était pratiqué (et cela l'est encore) il y a quelques années avec des tableaux dédiés à la mise en page n'est pas une bonne manière de faire. Il y a très peu de cas où les css, appliqué sur une page sémantiquement correcte (justement une de celle qui n'a pas été torturée pour correspondre à un affichage précis) ne puissent arriver à ce que tu veux.

    Et le framework n'a rien à voir la dedans. En tous cas pas pour le cas présent.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).

    • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
    • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
    • Une discussion est terminée ? Alors le bouton est votre ami !

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

Discussions similaires

  1. [2.x] créer une collection de form avec checkbox
    Par jejeman dans le forum Symfony
    Réponses: 2
    Dernier message: 09/03/2015, 14h52
  2. acceder à un controle d'un form avec un autre form
    Par rafafa87 dans le forum VB.NET
    Réponses: 5
    Dernier message: 05/01/2014, 21h33
  3. [Débutant] Remplir une form avec un autre
    Par Hobbi1 dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/12/2012, 11h19
  4. Réponses: 7
    Dernier message: 16/12/2012, 10h44
  5. Envoyer les données de plusieurs forms avec un autre formulaire
    Par malgache dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/10/2011, 17h15

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