2012-05-10 11 views
1

シナリオ(すべてが管理エリア/バックエンドの中に起こっ)の複数のレベルのトラックを維持する:一覧ページからページの参照元

  1. 、ユーザーは、バックエンドの記事を(表示するためのリンクをクリックします)。
  2. 記事閲覧ページから、ユーザーはリンクをクリックしてその記事を編集します。
  3. 記事編集ページでは、フォームが現在のURIに送信されます。
  4. 検証が成功するか、ユーザーがキャンセルすると、ユーザーは記事表示ページにリダイレクトされます。
  5. 記事表示ページから、ユーザーはリストページに戻るために「戻る」リンクをクリックします。 >表示< - - <

一覧>編集今

は、私は、前のページから参照URLを追跡することができますよ。編集フォームでは、非表示のフィールドを使用してビューページへの参照を維持しています。フォームのPOST送信が失敗したときに変更され、ユーザーが編集ページに残らないようにします。

問題は、ユーザーが編集から表示ページに戻ると、リストページへの「戻る」リンクが編集ページにリンクされるようになったことです。 FYI

  • ユーザーが同じページ上のリストに戻り、順番を並べ替える必要があるとして一覧ページのURLが動的である(クエリ文字列に格納されています)。したがって、固定URLは問題外です。
  • これまでセッション(例:SESSION ['view_to_list_ref'] SESSION ['edit_to_view_ref'])を試してみましたが、複数のタブが混乱していました。
  • 私はajax経由で表示/編集を切り替えることができましたが、私はこの時点でアプリケーションをシンプルでajaxlessに保つことを望んでいます。
  • は、私は私が考えることができる

唯一の解決策は、リストページのURLエンコードされたクエリ文字列を介した「ビューアーティクル」リンクに追加を持つことであるPHP + Kohanaの3.2フレームワークを使用しています。このようにして、リストページの位置は編集ページ中であっても保持されます。表示URLに戻る参照URLにはクエリ文字列にリストページURLも含まれているためです。しかし、私は本当に長いパラメータ値(エンコードされているかどうか)を持つURLを「汚い」という考えが嫌いです。

私は実際には、ページ参照の複数のレベルを一般的に追跡するというこの問題に対するより洗練された解決策があることを期待しています。私が言及したシナリオを解決するだけではありません。

EDIT:このソリューションでは、同じシナリオを実行する複数のタブをサポートできるはずです。

答えて

0

PHPセッション内の一意の識別コード、一時変数、およびこれらの一時的な値によるページの読み込みを追跡する一時データベーステーブルを使用してページを追跡できます。

データベース構造は次のようになります。ページのロード時間を追跡

+-------------+-------------------+---------------------+ 
| Unique ID | Page Referral | Time of page load | 
+-------------+-------------------+---------------------+ 

を使用すると、選択X分よりも古い負荷を拭くためにできるように、比較的小さなテーブルを続けるだろう。

とにかく、これはあなたが好きなだけ多くのレベルを保つことができます。また、自動増分カウンタフィールド、または独自のカウンタフィールドを追加する場合は、ページのロードを追跡しますが、このシナリオではページの読み込み時間で十分です。

+0

あなたの投稿を完全に理解しているかどうかはわかりません。あなたの提案されたメソッドは複数のタブをサポートできますか? 上記のシナリオで展開します。いくつかのタブが開いている場合は、同様の編集操作をList> View> Editで実行します。それぞれの独立した紹介のスレッドを維持することができるでしょうか? – ephemeron

+0

各タブに独自のIDを割り当てている場合は、それは可能です。 –

+0

各タブから読み込まれたページに一意のIDを割り当てることはできませんでした。それをどうやって実行するのか分かりますか?ありがとう。 – ephemeron

関連する問題