私は過去数週間、CodeIgniterをフレームワークとして使用してサイトを開発してきました。私は何かを達成するための最良の方法を考えてきました。それは他の言語の他の多くのフレームワークでは比較的単純です:ソート可能なテーブルです。URLにメソッドパラメータが含まれているため、CodeIgniterはデフォルトでクエリ文字列をオフにします。したがって、URLは次のようになります。
/controller/method/param1/param2
コントローラメソッドに2つの追加パラメータとして追加するだけでよいsortBy
と思うかもしれません。sortOrder
私は特にそれをしたくありません。主に、再利用可能なコントローラーが欲しいからです。クエリ文字列パラメータを使用すると、PHPは。というパラメータがあるかどうかを簡単に知ることができますsortBy
。ただし、URLベースのパラメーターを使用している場合は、コントローラーごとに異なります。
私は自分の選択肢が何であるか疑問に思いました。私が見る限り、それらは次のようなものです。
sortBy
myとparametersを渡して、sortOrder
それを吸い上げて、再利用できないコンポーネントを開発します。sortBy
とをセッションに保存する追加のコントローラーを用意しますsortOrder
(ただし、どこから来たのかを認識し、元のページに戻す必要があります)。- 上記のコントローラーを呼び出す、ある種のAJAX関数があります。次に、ページをリロードします。
- CodeIgniterをハックして、クエリ文字列をオンに戻します。実際、これが唯一のオプションである場合、これを行う方法へのリンクをいただければ幸いです。
このような単純な作業でこのような問題が発生するなんて信じられません。私は何かが足りないのですか?誰か推奨事項はありますか?
私はjQueryが大好きで、すでにサイトで使用しているので、TableSorterは良いオプションです。ただし、ページ付けなど、結果が多くなる可能性のあるページがあるため、サーバー側での並べ替えを行いたいと思います。