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 :

Thème de formulaire dans FOSUserBundle [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Par défaut Thème de formulaire dans FOSUserBundle
    Bonjour à vous !

    Dans le Bundle FOSUserBundle, ils ont utilisé plusieurs façon différente d'affichage de formulaire.

    Dans login, ils les affiches comme ça :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {% extends "FOSUserBundle::layout.html.twig" %}
     
    {% block breadcrumb %}
    <span class="divider">/</span> {{ 'layout.login'|trans({}, 'FOSUserBundle') }}
    {% endblock %}
     
    {% block fos_user_content %}
    {% if error %}
        <div>{{ error|trans({}, 'FOSUserBundle') }}</div>
    {% endif %}
     
    <form action="{{ path("fos_user_security_check") }}" method="post">
        <input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
     
        <label for="username">{{ 'security.login.username'|trans({}, 'FOSUserBundle') }}</label>
        <input type="text" id="username" name="_username" value="{{ last_username }}" />
     
        <label for="password">{{ 'security.login.password'|trans({}, 'FOSUserBundle') }}</label>
        <input type="password" id="password" name="_password" />
     
        <input type="checkbox" id="remember_me" name="_remember_me" value="on" />
        <label for="remember_me">{{ 'security.login.remember_me'|trans({}, 'FOSUserBundle') }}</label>
     
        <input type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />
    </form>
    {% endblock fos_user_content %}
    Et dans register comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {% form_theme form theme %}
     
    <form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register">
        {{ form_widget(form) }}
        <div>
            <input type="submit" value="{{ 'registration.submit'|trans({}, 'FOSUserBundle') }}" />
        </div>
    </form>
    Tout d'abord, je ne comprends pas comment ça se fait que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% form_theme form theme %}
    face référence à la page form.html.twig qui se trouve dans views :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    {% block field_label %}
    {% spaceless %}
        <label for="{{ id }}">{{ id|trans([], 'FOSUserBundle') }}</label>
    {% endspaceless %}
    {% endblock field_label %}
    Avez vous une explication pour ça ???

    Bon, j'ai fait abstraction et j'ai commencé à codé mon propre thème dans ce page (que j'ai bien sur préalablement copier dans mon propre dossier views). Une fois le thème terminé, il s'affiche parfaitement dans ma page register.

    J'aimerais donc l'afficher dans ma page login aussi.. Mais comment je peux faire ? J'ai essayé avec le même code , c'est à dire :
    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
    18
    19
    20
    {% extends "ExoProgUserBundle::layout.html.twig" %}
     
    {% form_theme form theme %}
     
    {% block fos_user_content %}
     
    {% if error %}
    <div>{{ error|trans({}, 'FOSUserBundle') }}</div>
    {% endif %}
     
    <form class="form-horizontal" action="{{ path("fos_user_security_check") }}" method="post">
        <fieldset>
            <legend>Connexion</legend>
          {{ form_widget(form) }}
            <div class="form-actions">
                <input class="btn btn-primary" type="submit" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}" />
            </div>
        </fieldset>
    </form>
    {% endblock fos_user_content %}
    Mais j'obtiens le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Variable "form" does not exist in FOSUserBundle:Security:login.html.twig at line 3
    J'ai aussi essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% form_theme form 'nomdubundleBundle:dossier:theme.html.twig' %}
    Mais rien n'y fait...
    Et si je modifie l'affichage du register en mettant de nom complet (comme ci dessous) au lieu de theme (ou il sort ???), j'ai le meme message...

    Pouvez vous s'il vous plait m'éclairer ???

    Merci d'avance !

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Par défaut
    Comment ce fait il que la fonction suivante ne fonctionne pas sur les page twig ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% form_theme form .... %}
    ... = le chemin du theme.

    Merci d'avance !

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2012
    Messages : 42
    Par défaut
    J'ai cherché partout, je ne trouve pas de solution .

    Merci d'avance

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

Discussions similaires

  1. Formulaire dans une fenêtre modale
    Par Amnesiak dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/02/2005, 14h25
  2. Réponses: 2
    Dernier message: 11/12/2004, 21h20
  3. Formulaire dans un mail
    Par Immobilis dans le forum ASP
    Réponses: 6
    Dernier message: 23/11/2004, 10h12
  4. Réponses: 3
    Dernier message: 27/10/2004, 14h43
  5. Recuperation de formulaire dans une fonction
    Par arsgunner dans le forum ASP
    Réponses: 5
    Dernier message: 23/06/2004, 15h04

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