gpt4 book ai didi

php - 你如何解决PHP中的 "unstructured"导航?

转载 作者:太空狗 更新时间:2023-10-29 16:03:31 24 4
gpt4 key购买 nike

我有一个基于 PHP 的大型 CMS 来管理网页。所有项目都以树结构组织。当我编辑一个项目时,“后退”按钮通常指向它的父项目。因此,通常的工作流程是在树中导航。

现在时不时地需要一个不考虑结构就“跳转”到其他项目的工作流。

例如,当用户正在编辑网页时,他们可能想打开页面所附加的模板(完全不同分支中的另一个项目),在那里进行更改,然后单击“保存”时期望回到他们正在编辑的页面。

目前,我用

解决了这个问题
domain.com/admin/template/edit?from=/frontpage/edit

“from”变量确定“保存”和“取消”按钮的目标 URL。

当路径变得太长和复杂时,这会在一定程度上起作用。例如,如果用户

  • 编辑页面
  • 打开附加的模板
  • 在前端 View 中预览该模板
  • 然后期望被无缝地带回他们正在编辑的页面?

现在,“历史”在最后一项结束,因此当用户从前端 View 返回时,原始页面的链接丢失,他们必须手动搜索。

另一个可能很快发生的问题是包含所有“来自”值的 GET URL 变得太长,或者完全困惑:

domain.com/admin/template/edit?from=/frontpage/edit&from=/somepage/edit
&from=/template/preview&/from=template/edit&/from=template_preview ...

(你明白了)

我过去通过打开单独的窗口优雅地解决了这个问题,但我真的想实现一个通用的无缝单窗口工作流,主要是因为多个窗口往往会使用户感到困惑。

你是如何解决这个问题的?

您是否实现了一个强大的“非结构化”导航,该导航在打开多个窗口时运行良好(=一个用户使用不同的导航路径执行多个不同的操作)?

您如何在用户界面方面解决这个问题?

我能想到的最佳方法是传递指向数据库或 session 中的临时记录的“from”值。该记录包含有关当前路径的所有信息,因此可以始终提供正确的“返回第 x 页”值。

我最想听听的是成功实现此功能的人的经验,以及他们是如何做到的。

最佳答案

一些建议

预览问题:在 IFRAME 中预览,所以历史不会丢失?

困惑的 URL 问题:如果每个页面都有某种键,而不是 URL 路径

(i.e. /frontpage/edit = 952,
/frontpage/edit&from=/somepage/edit = 763,
/template/preview = 651,
template/edit = 612,
template_preview = 866 etc.)

您可以像这样在 PATH_INFO 中将它们串在一起:

domain.com/admin/template/edit/952/763/651/612/866

关于php - 你如何解决PHP中的 "unstructured"导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com