Frage

Ich baue (gut versuche) ein Kontaktformular für ein Projekt, an dem ich arbeite. Ich habe dieses "Tutorial" verfolgt hier Und zuerst habe ich die Tutorial für mein Projekt geändert. In meiner Datei contactForm.php (in welcher Datei task.php im Tutorial) sieht mein Code so aus:

namespace Shout\MainBundle\Entity;

Klasse contactForm {Protected $ yourName;

protected $youremail;

protected $yourphone;

protected $yourenquiry; 

protected $newsletter;

protected $events;

public function getYourname()
{
    return $this->yourname;
}
public function setYourname($yourname)
{
    $this->yourname = $yourname;
}

public function getYouremail()
{
    return $this->youremail;
}
public function setYouremail($youremail)
{
    $this->youremail = $youremail;
}

public function getYourphone()
{
    return $this->yourphone;
}
public function setYourphone($yourphone)
{
    $this->yourphone = $yourphone;
}

public function getYourenquiry()
{
    return $this->yourenquiry;
}
public function setYourenquiry($yourenquiry)
{
    $this->YourEnquiry = $yourenquiry;
}

public function getNewsletter()
{
    return $this->newsletter;
}
public function setNewsletter($newsletter)
{
    $this->newsletter = $newsletter;
}

public function getEvents()
{
    return $this->events;
}
public function setEvents($events)
{
    $this->events = $events;
}

In der Datei StandardClasses.php (wo ich das Kontaktformular -Rendering bearbeite) habe ich den folgenden Code:

    public function contactAction(Request $request)
{

    $contactform = new Contactform();

    $form = $this->createFormBuilder($contactform)
        ->add('yourname', 'text')
        ->add('youremail', 'text')
        ->add('yourphone', 'text')
        ->add('yourenquiry', 'text')
        ->add('newsletter', 'text')
        ->add('events', 'text')
        ->getForm();

    return $this->render('ShoutMainBundle:Default:contact.html.twig', array('form' => $form->createView()));

}

Offensichtlich unterscheidet sich dies vom Tutorial, da ich es nicht mit Daten voraberhalten möchte.

In der Datei contact.php.twig habe ich dann den folgenden Code auf, der das Kontaktformular aufruft:

                    <form action="{{ path('form_contact') }}" method="post" {{ form_enctype(cform) }}>
                    {{ form_widget(cform) }}

                    <input type="submit" />
                </form>

Ich bekomme jedoch immer wieder den folgenden Fehler:

Eine Ausnahme wurde während der Darstellung einer Vorlage ("Route" Form_Contact "nicht vorhanden.

Der Grund, warum ich mich auf das Tutorial beziehe, ist, dass ich den gesamten Code kopierte und platzierte, wenn ich dachte, ich habe einen Fehler bei der Bearbeitung des ursprünglichen Codes gemacht und in meinem Projekt in mein Projekt eingefügt. Aber ich erhalte diesen Fehler immer noch.

Ich habe den letzten Teil des Freitags an diesem und den besten Teil von heute Morgen darauf verbracht, aber ich treffe immer noch diese Ziegelmauer. Gibt es etwas, das ich verpasst habe oder gehe ich falsch darüber?

Bearbeiten:Hier ist die Routing -Datei:

    ShoutMainBundle_mainpage:
    pattern:  /mainpage/{slug}
    defaults: { _controller: ShoutMainBundle:Default:mainpage }
ShoutMainBundle_subpage:
    pattern:  /mainpage/{page}/{slug}
    defaults: { _controller: ShoutMainBundle:Default:subpage }
ShoutMainBundle_news:
    pattern:  /news
    defaults: { _controller: ShoutMainBundle:News:index }
ShoutMainBundle_newsarticle:
    pattern:  /news/article/{article}
    defaults: { _controller: ShoutMainBundle:News:article }
ShoutMainBundle_event:
    pattern:  /event
    defaults: { _controller: ShoutMainBundle:Event:index }
ShoutMainBundle_eventselected:
    pattern:  /event/{id}/{event}
    defaults: { _controller: ShoutMainBundle:Event:selected }
ShoutMainBundle_blog:
    pattern:  /blog
    defaults: { _controller: ShoutMainBundle:Blog:index }
ShoutMainBundle_blogarticle:
    pattern:  /blog/article/{article}
    defaults: { _controller: ShoutMainBundle:Blog:article }
ShoutMainBundle_blogcategorieshome:
    pattern:  /blog/categories/
    defaults: { _controller: ShoutMainBundle:Blog:categoryhome }
ShoutMainBundle_blogcategoriesselected:
    pattern:  /blog/category/{category}
    defaults: { _controller: ShoutMainBundle:Blog:categoryselected }
ShoutMainBundle_blogarchive:
    pattern:  /blog/archive/{category}
    defaults: { _controller: ShoutMainBundle:Blog:archive }
ShoutMainBundle_contact:
    pattern:  /contact-us
    defaults: { _controller: ShoutMainBundle:Default:contact }
War es hilfreich?

Lösung

Das Problem war, dass der Teil "Aktion" versuchte, eine Seite zu finden, die nicht da war. Ich habe das entfernt und es hat funktioniert. Erstellt nun eine Seite, damit sie referenziert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top