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 :

afficher un formulaire d'envoi d'email impossible


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Par défaut afficher un formulaire d'envoi d'email impossible
    Bonjour,
    J'ai un one page et j'utilise donc sur la même page plusieurs route qui me permet d'afficher des informations de la base de donnée, gérer un filtre de catégorie etc....
    Tout fonctionne bien sur au niveau du formulaire pour envoyer des emails. il est impossible de l'afficher .
    Je précise que si je met une route avec une url différente de celle de ma onepage cela fonctionne très bien .Mais si je précise la même route que mon onepage .... error
    J'essaye de plusieurs façon :
    1 Je crée un template pour le formulaire de mail que j’inclus (méthode include ) sur ma on page.
    2 je crée directement le controler avec la vue du onepage

    le problème est que j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Variable "form" does not exist in laurentBundle:Default:contact.html.twig at line 7
    j'ajoute donc à mon include le with {...}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {% include "laurentBundle:Default:contact.html.twig" with {'form': 'form'} %}
    Malheureusement j'ai une erreur de rendu du template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Argument 1 passed to Symfony\Component\Form\FormRenderer::searchAndRenderBlock()
     must be an instance of Symfony\Component\Form\FormView, string given,
     called in /Applications/MAMP/htdocs/Portfolio/app/cache/dev/twig/dd/68/f177e31b2194f31f44e4960fe8a287782ef96f0fbde168c24fae0b2f6fe8.php on line 40 and defined") in laurentBundle:Default:contact.html.twig at line 7.
    Je sais pas comment le résoudre ....
    mes routes :
    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
     
    laurent_adminRealisations:
        resource: "@laurentBundle/Resources/config/routing/realisations.yml"
        prefix:   /adminRealisations
     
    laurent_route_realisations:
        path:     /
        defaults: { _controller: laurentBundle:Default:listRealisations }
     
    laurent_route_Sous_Menu:
        path:     /
        defaults: { _controller: laurentBundle:Categories:sousMenu }
     
    laurent_route_SelectionCategories:
        path:     /categorie/{categorie}
        defaults: { _controller: laurentBundle:Categories:selectionCategories }
     
    laurent_route_PresentationRealisations:
        path:     /realisation/{id}
        defaults: { _controller: laurentBundle:Default:presentationRealisations }
     
    laurent_route_Contact:
        path:     /
        defaults: { _controller: laurentBundle:Default:contact }
        requirements:
          _method: GET|POST
    Le controller de mon formulaire mail
    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
    27
    28
    29
    30
     
        public function contactAction(){
     
        $messagerie = new messagerie();
        $form = $this->createForm(new ContactType(), $messagerie);
     
        $request = $this->getRequest();
        if ($request->getMethod() == 'POST') {
            $form->bind($request);
     
            if ($form->isValid()) {
     
           $message = \Swift_Message::newInstance()
                ->setSubject('Contact enquiry from symblog')
                ->setFrom('enquiries@symblog.co.uk')
                ->setTo('email@email.com')
                ->setBody($this->renderView('laurentBundle:Default:contactEmail.txt.twig', array('messagerie' => $messagerie)));
            $this->get('mailer')->send($message);
     
            $this->get('session')->getFlashBag()->add('blogger-notice', 'Your contact enquiry was successfully sent. Thank you!');
             return $this->redirect($this->generateUrl('laurent_route_Contact'));
     
        }
    }
        return $this->render('laurentBundle:Default:contact.html.twig', array(
            'form' => $form->createView()
        ));
     
    }
    }
    ma vue formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    {% for flashMessage in app.session.flashbag.get('blogger-notice') %}
    {{ flashMessage }}
    {% endfor %}
     
     
    <form action="{{ path('laurent_route_Contact') }}" method="post" {{ form_enctype(form) }}>
        {{ form_widget(form) }}
     
        <input type="submit" />
    </form>
    Ma vue de mon one page ( je ne met que le lien sensé relier le template mail et ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    {% include "laurentBundle:Default:contact.html.twig" with {'form': 'form'} %}
    Si quelqu'un peut m'aider, je le remercie d'avance

  2. #2
    Membre confirmé
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Par défaut
    Par contre si je met dans mon one page la code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      {% include '::default/messagerie.html.twig' %}
    En fait si je crée dans la vue de base (app/Resources/views/ une vue messagerie.html.twig qui va afficher la vue contact.html.twig grace à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     {% render(controller('laurentBundle:Messagerie:contact')) %}
    Le formulaire s'affiche mais ne fonctionne pas , le message flash ne fonctionne pas et le mail n'est pas envoyé

  3. #3
    Membre chevronné
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Billets dans le blog
    7
    Par défaut des quotes inutiles ?
    Bonjour,

    essai avec


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include "laurentBundle:Default:contact.html.twig" with {form: form} %}

  4. #4
    Membre confirmé
    Profil pro
    developpeur analyste fonctionnel
    Inscrit en
    Mars 2009
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur analyste fonctionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Par défaut
    Merci de m'avoir répondu ...
    Malheureusement cela ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Variable "form" does not exist in laurentBundle:Default:index.html.twig at line 166

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Qu'as tu ligne 166?

    Le premier form est le nom de ta variable utilisé dans ton cotnact.html.twig, donc ici "form". Le deuxieme parametre est la valeur twig a passé, donc ici bien formsans quote.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {% include "laurentBundle:Default:contact.html.twig" with {"form": form} %}

  6. #6
    Membre chevronné
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Billets dans le blog
    7
    Par défaut
    ça sera utile d'afficher ton action et comment tu passe tes paramêtres vers la vue twig

Discussions similaires

  1. [2.x] PB validation formulaire d'envoie d'email
    Par dragorane dans le forum Symfony
    Réponses: 1
    Dernier message: 21/04/2012, 20h40
  2. [WB12] formulaire avec envoi d'email
    Par seb290585 dans le forum WebDev
    Réponses: 6
    Dernier message: 12/01/2009, 15h27
  3. formulaire d'envoi d'email
    Par single dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/11/2007, 09h51
  4. envoi d email impossible
    Par fabrice29 dans le forum Internet
    Réponses: 3
    Dernier message: 04/06/2007, 18h13
  5. Envoie de EMail avec un formulaire
    Par LibrairieSI dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 28/02/2005, 14h31

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