我遇到了在弹出视图中显示表单的问题。我已经阅读了Symphony文档并创建了一个包来存储我的表单。然后在基本控制器中我试图加载它......
我收到以下错误: 变量"形式"在nostalgie90sloginUserBundle中不存在:默认值:第1行的loginUser.html.twig
我想使用leanModal jquery
在弹出窗口中显示此表单加载主视图的基本文件 base.html.twig:
//some stuff of the base
//....
<div id="loginmodal" style="display:none;">
<p> MON FORMULAIRE </p>
<!--{{ include ("nostalgie90sloginUserBundle:Default:loginUser.html.twig") }} -->
{{ render(controller('nostalgie90sloginUserBundle:Default:new')) }}
</div>
</a>
我的控制器加载表单:
class DefaultController extends Controller//login bundle
{
public function newAction()
{
$user = new User90s();
$form = $this->createForm(new LoginForm(), $user);
return $this->render('nostalgie90sloginUserBundle:Default:loginUser.html.twig', array('form' => $form->createView(), ));
}
public function indexAction($name)
{
}
}
我的表单类: class LoginForm扩展AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('login');
$builder->add('password');
$builder->add('mail');
}
public function getName()
{
return 'login';
}
public function getDefaultOptions(array $options)
{
return array('data_class' => 'nostalgie90s\BaseBundle\Entity\User90s', );
}
}
最后是loginUser.html.twig形式的视图:
{{ form_start(form) }}
{{ form_errors(form) }}
{{ form_row(form.login) }}
{{ form_row(form.password) }}
<input type="submit" />
{{ form_end(form) }}