场景(所有发生在管理区域/后端):
- 从列表页面,用户单击链接以查看文章(在后端)。
- 从文章查看页面,用户单击链接以编辑该文章。
- 在文章编辑页面,表单提交到当前的uri。
- 如果验证成功或用户取消,用户将被重定向到文章查看页面。
- 从文章查看页面,用户单击“返回”链接以返回到列表页面。
列表 <--> 查看 <--> 编辑
现在,我只能跟踪前一页的引用 url。在编辑表单中,我使用隐藏字段来维护对视图页面的引用,以免在表单 POST 提交失败期间更改它并且用户保留在编辑页面中。
问题是当用户从编辑返回查看页面时,指向列表页面的“返回”链接现在链接到编辑页面。
供参考,
- 列表页面 url 是动态的,因为用户应该返回到同一页面上的列表和排序顺序(存储在查询字符串中);因此,固定的 url 是不可能的。
- 过去,我尝试过使用会话(例如 SESSION['view_to_list_ref'] SESSION['edit_to_view_ref']),但它搞砸了多个选项卡。
- 我可以通过 ajax 在视图/编辑之间进行转换,但我希望此时保持应用程序简单且无 ajax。
- 我正在使用 PHP + Kohana 3.2 框架
我能想到的唯一解决方案是将列表页面 url 编码并通过查询字符串附加到“查看文章”链接。这样,即使在编辑页面中,列表页面的位置也会被保留;因为返回查看页面的引用 url 也将在查询字符串中包含列表页面 url。但是我真的不喜欢用长参数值(编码或未编码)“弄脏”url的想法。
我真的希望有一个更优雅的解决方案来解决这个问题,即通常跟踪多个级别的页面推荐;不仅仅是专门解决我提到的场景。
编辑:哦,解决方案应该能够支持执行相同场景的多个选项卡。