在 Symfony 控制器中返回模板时添加 URL 锚点
Add URL anchor when returning template in Symfony controller
我想在控制器中 return 视图时添加一个 URL 锚点。现在 url 是 www.mydomain.com/contact,但我希望它是 www.mydomain.com/contact#myparameter
/**
* @Route("/contact", name="_contact_form_post")
* @Template("MeterHomeBundle:Default:index.html.twig")
*/
public function postContactFormAction(Request $request) {
$form = $this->createForm(new Form\Contact());
$form->handleRequest($request);
// Do all sorts of stuff here...
return array("contactForm" => $form);
}
我无法使用 generateUrl(),因为我需要 return 一个模板并向其中添加 "contactForm" 变量。
我模板中的表单以此代码开头:
{{ form_start(contactForm, {'method': 'POST', 'action': path('_contact_form_post')}) }}
我可以在这里添加锚点吗?
编辑:在开发模式下不太好的解决方案:
当我在我的模板中使用它来启动表单时,它起作用了:
{{ form_start(contactForm, {'method': 'POST', 'action': '/mydomain.com/app_dev.php/contact#contact'}) }}
但这不是我想要的:我需要更改它以用于生产。
使用:
{% set action = path('_contact_form_post') ~ '#myhash' %}
并在您的选项中使用新设置的操作变量?
'action': {{ action }}
我想在控制器中 return 视图时添加一个 URL 锚点。现在 url 是 www.mydomain.com/contact,但我希望它是 www.mydomain.com/contact#myparameter
/**
* @Route("/contact", name="_contact_form_post")
* @Template("MeterHomeBundle:Default:index.html.twig")
*/
public function postContactFormAction(Request $request) {
$form = $this->createForm(new Form\Contact());
$form->handleRequest($request);
// Do all sorts of stuff here...
return array("contactForm" => $form);
}
我无法使用 generateUrl(),因为我需要 return 一个模板并向其中添加 "contactForm" 变量。
我模板中的表单以此代码开头:
{{ form_start(contactForm, {'method': 'POST', 'action': path('_contact_form_post')}) }}
我可以在这里添加锚点吗?
编辑:在开发模式下不太好的解决方案:
当我在我的模板中使用它来启动表单时,它起作用了:
{{ form_start(contactForm, {'method': 'POST', 'action': '/mydomain.com/app_dev.php/contact#contact'}) }}
但这不是我想要的:我需要更改它以用于生产。
使用:
{% set action = path('_contact_form_post') ~ '#myhash' %}
并在您的选项中使用新设置的操作变量?
'action': {{ action }}