Я хочу добавить привязку 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 (), потому что мне нужно вернуть шаблон и добавить к нему переменную 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 }}
Других решений пока нет …