我正在为我正在从事的项目建立(尝试)联系表格。我一直在关注这个“教程” 这里 起初,我更改了教程的位以适合我的项目。因此,在我的ContactForm.php文件中(这是task.php文件在教程中),我的代码看起来像这样:

namespace Shout\MainBundle\Entity;

class ContactForm {preected $ 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;
}

在defaultclasses.php文件(我正在处理联系表单渲染)中,我有以下代码:

    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()));

}

显然,这与教程不同,因为我不想用数据预先填充它。

然后,在contact.php.twig文件中,我有以下代码调用联系人表格:

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

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

但是,我不断收到以下错误:

在“ shoutmainbundle:shoutmainbundle:default:contact.html.twig”中,在第62行中的模板(“ oute” form_contact“不存在”)在渲染模板(“ form_contact“不存在”)期间,已经抛出了一个例外。

我之所以提到本教程的原因是,以为我在编辑原始代码时犯了一个错误,我将所有教程中的所有代码复制并粘贴到了我的项目中。但是我仍然收到这个错误。

我在这个星期五的最后一部分上度过了这一点,今天早上最好的部分在这里,但我仍在撞到这座砖墙。我错过了什么还是我走错了方向?

编辑:这是路由文件:

    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 }
有帮助吗?

解决方案

问题是“动作”部分试图找到一个不存在的页面。我删除了它,它起作用了。现在将创建一个供其参考的页面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top