2015-02-24 62 views
0

我想在我的控制器中返回视图时添加URL锚点。眼下网址是www.mydomain.com/contact,但我希望它是www.mydomain.com/contact#myparameter在Symfony控制器中返回模板时添加URL锚点

/** 
* @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'}) }} 

但是,这不是我多么希望它在开发模式不那么漂亮的解决方案:我需要改变它的生产。

+0

为什么不使用:{%set action = path('_ contact_form_post')〜'#myhash'%}'并在您的选项中使用新设置的动作变量? ''action':{{action}}' – 2015-02-24 17:06:19

+0

This works,thnx。我没有看到任何其他答案,因此您可以将其作为答案发布。 – BigJ 2015-02-27 13:03:27

回答

2

使用:

{% set action = path('_contact_form_post') ~ '#myhash' %} 

,并使用你的选项中选择新制行动变量?

'action': {{ action }}