我有一個龐大的基於PHP的CMS管理網頁。 所有項目都以樹結構組織。 當我編輯一個項目時,「後退」按鈕通常指向它的父項目。 所以,通常的工作流程是在樹中導航。如何解決PHP中的「非結構化」導航?
現在,現在需要一種工作流程,「跳轉」到其他項目而不考慮結構。
例如,當用戶正在編輯網頁時,他們可能想要打開頁面所附的模板(另一個完全不同的分支中的項目),在那裏進行更改,並點擊「保存」時回到他們正在編輯的頁面。
此刻,我解決這個使用
domain.com/admin/template/edit?from=/frontpage/edit
其中「從」變量確定的「保存」和「取消」按鈕目標URL。
當路徑變得太長和複雜時,這可以工作到某個點。例如,如果有什麼用戶
- 編輯一個頁面
- 打開附加模板
- 預覽,在前端視圖
- 模板,然後預計無縫帶回網頁,他們正在編輯?
現在,「歷史」結束於最後一項,以便當用戶從前端視圖返回時,原始頁面的鏈接丟失,並且他們必須手動搜索它。
,可以迅速發生的另一個問題是,包含所有的「從」值太長,或完全混亂的GET網址:
domain.com/admin/template/edit?from=/frontpage/edit&from=/somepage/edit
&from=/template/preview&/from=template/edit&/from=template_preview ...
(你得到的漂移)
我已經解決這優雅地通過打開單獨的窗口在過去,但我真的想要實現一個無縫的單窗口工作流程,普遍工作,主要是因爲多個窗口往往混淆用戶。
你如何解決這個問題?
您是否實現了一個強大的「非結構化」導航,可以在多個窗口打開的情況下正常工作(=一個用戶使用不同的導航路徑執行多種不同的事情)?
如何在用戶界面上進行此操作?
我能想到的最佳方法是傳遞指向數據庫或會話中臨時記錄的「from」值。該記錄包含有關當前路徑的所有信息,因此可以始終提供正確的「返回頁面x」值。
我最想聽到的是那些已經成功實施這個的人的經驗,以及他們是如何做到的。
你可以看看像Drupal,Wordpress和Joomla這樣的大型CMSes如何解決這個問題。他們可能已經對此做了一些研究並(希望)做出了一個很好的決定。 – 2009-11-25 14:24:22
也許你可以嘗試壓縮你的GET變量? – jkndrkn 2009-11-25 15:36:04