Я разрабатываю почти сложную ERP-систему в Symfony 2.8 и хорошо работаю над проектированием всей системы, чтобы избежать репликации кода и внедрить умный и повторно используемый код. Я борюсь с тем, чтобы найти умный способ избавиться от предыдущего URL, который посетил пользователь, создать умные кнопки «Назад» для размещения в моих представлениях. Просто для примера: давайте рассмотрим страницу «один продукт». Эта страница доступна на странице «Список продуктов», а также на 1000 других страницах (одна страница предложения, страница склада и т. Д.). Итак, на странице «Один продукт» есть кнопка «Назад», которая должна вернуть меня на предыдущую страницу, которая не всегда является страницей «Список продуктов»! Это всего лишь пример, чтобы понять сценарий, но это не единственный.
Я думал принять этот «Фильтр До / После», предложенный Symfony. http://symfony.com/doc/current/event_dispatcher/before_after_filters.html#token-validation-example для того, чтобы сохранить в глобальной переменной предыдущий URL, посещенный пользователем, но затем я понял, что, например, на одной странице у меня также есть несколько запросов Ajax к моей Symfony, так что я бы в итоге хранил, вероятно, последний запрос ajax и не тот URL, который был перед посещением страницы, на которой я сейчас нахожусь. И другие проблемы.
Я уверен, что любой, кто разрабатывает проекты среднего размера, включающие много маршрутов туда и обратно, сталкивался с этой проблемой, мне было бы любопытно понять, как это можно решить с умом.
Спасибо,
Guido
Попробуйте использовать это JQuery код (работает для меня):
$(document).ready(function(){
$('a.backbutton').click(function(){
parent.history.back();
return false;
});
});
на некоторых link
или же button
в вашем HTML-коде. Или используйте аналогичное решение.
Других решений пока нет …