У меня есть меню навигации на всех моих страницах. когда пользователь нажимает на одну ссылку, он открывает модальную форму, где пользователь может отправить сообщение. когда пользователь нажимает кнопку отправки, я хочу, чтобы контроллер возвращался на страницу, где он находился, когда модальная открылась.Как получить текущий маршрут в Symfony 2?
ответ
Получить текущий маршрут в controller
.
$router = $this->get("router");
$route = $router->match($this->getRequest()->getPathInfo());
var_dump($route['_route']);
ИЛИ
$request = $this->container->get('request');
$routeName = $request->get('_route');
Чтобы получить текущий маршрут в twig
app.request.get('_route')
спасибо, но это не работает, с этим кодом я получаю маршрут контроллера, где я - – sepointes
. попросил получить текущий маршрут. мой ответ вернет правильный текущий маршрут в веточке. вам нужно добавить скрытое поле и поместить в него текущий маршрут. затем измените модальное действие отправки соответственно – Noman
да, я думаю, что скрытое поле - единственное решение, я попробую это. спасибо – sepointes
Чтобы создать путь в шаблоне веточку:
{{ path(app.request.attributes.get('_route'),
app.request.attributes.get('_route_params')) }}
или получить текущий запрос URI:
{{ app.request.uri }}
Вы также можете рассмотреть возможность создания модального окна в оверлее, чтобы пользователь мог вернуться на текущую страницу, просто закрыв модальный.
'{{app.request.uri}}' дайте мне маршрут для открытой формы сообщения, так что это не то, что я хочу. да, пользователь может вернуться на текущую страницу, закрыв, но когда он отправит сообщение, я должен указать маршрут к моему контроллеру, и я хочу вернуться на текущую страницу так же, как если бы пользователь закрыл модальный – sepointes
. Если вы пытаетесь использовать '{{app .request.uri}} 'в запросе, который фактически обрабатывает отправку сообщения, он не будет работать, поскольку это отдельный HTTP-запрос ... Возможно, вы захотите передать путь возврата в виде скрытого ввода формы, но, честно говоря, с помощью количество деталей, которые вы предоставили, я не думаю, что вы получите большую помощь. – Karolis
Хорошо, поэтому пост немного стар, но для тех, кто ищет что-то вроде этого, я бы предложил другой способ обработки формы сообщения с помощью javascript для перехвата представления и отправки сериализованных данных через сообщение ajax.
После этого контроллер может вернуть простое сообщение об успешном завершении или вид формы с любым сообщением об ошибке.
Пользователь может попробовать повторить отправку сообщения или просто закрыть модальный или закрыть его автоматически с помощью window.timeout, если представление было успешным. Пользователь никогда не покидает исходную страницу, и им не нужно ждать перезагрузки страницы.
Библиотека как JQuery будет сделать это довольно легко реализовать Е.Г.
$(document).on("click","button#messageSend",function(e){
tht = $(this);
frm = tht.closest("form");
container = frm.parent()
e.preventDefault();
$.ajax({
url: frm.attr("action"),
method: "POST",
data: frm.serialize(),
dataType: "html"
}).done(function(data){
container.html(data);
// Add any additional processing here
});
return false;
});
- 1. Угловой 2 получить текущий маршрут в страхе
- 2. Как получить текущий маршрут
- 3. Как получить текущий маршрут/маршрут в Синатре?
- 4. Получить текущий маршрут не в главном действии
- 5. Колба: получить текущий маршрут
- 6. Laravel получить текущий маршрут
- 7. Ember.js получить текущий маршрут
- 8. Как получить текущий маршрут в zend 2 framework?
- 9. Как получить текущий маршрут в HtmlHelper?
- 10. Symfony2: Как получить текущий маршрут в javascript?
- 11. Как получить текущий маршрут в рельсах
- 12. Symfony 2: Как получить маршрут по умолчанию по названию маршрута?
- 13. Laravel 5.1 - получить текущий маршрут
- 14. реагировать маршрутизатор - получить текущий маршрут
- 15. Как получить текущий язык в symfony 2.3?
- 16. Как создать маршрут в symfony 2, который отображает внешний URL?
- 17. Как получить текущий маршрут от iOS MapKit?
- 18. React Router v4 - Как получить текущий маршрут?
- 19. Как я могу получить текущий маршрут?
- 20. Symfony CMF - Как получить текущий узел в контроллере
- 21. Pylons - Как получить текущий контроллер и действие (текущий маршрут)?
- 22. Symfony 2: Защитите маршрут с помощью htpasswd
- 23. Маршрут Symfony 2 без специального кода контроллера
- 24. Получение текущий маршрут прут
- 25. Joomla Получить текущий маршрут в модуле
- 26. Symfony 2 Validate маршрут PARAMS с FOSRestBundle
- 27. Symfony 2 - один маршрут для контроллера
- 28. Как перейти на (текущий) маршрут
- 29. Использовать текущий идентификатор пользователя - symfony 2
- 30. Как получить текущий маршрут маршрута в помощнике в Ember?
, что вы создали маршрут на странице? или модуль? в 'routing.yml'? – Noman
Возможный дубликат [Как получить текущий маршрут в Symfony 2?] (Http://stackoverflow.com/questions/7096546/how-to-get-current-route-in-symfony-2) – zizoujab
Я отредактировал мой вопрос чтобы быть яснее: это не текущая страница, а страница, на которой пользователь находился, когда он нажал, чтобы открыть форму в лайтбокс. – sepointes