在Symfony控制器中返回模板时添加URL锚点


Add URL anchor when returning template in Symfony controller

当我在控制器中返回视图时,我想添加一个URL锚。现在的网址是www.mydomain.com/contact,但我希望它是www.myddomain.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(),因为我需要返回一个模板并添加"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 }}