He estado desarrollando un sitio en las últimas semanas usando CodeIgniter como marco. He estado pensando en la mejor manera de lograr algo, que en muchos otros marcos en otros idiomas es relativamente simple: tablas ordenables. CodeIgniter desactiva las cadenas de consulta de forma predeterminada, ya que sus URL contienen parámetros de método. Por lo tanto una URL podría ser:¿Cómo hago la clasificación de tablas usando CodeIgniter?
/controller/method/param1/param2
Se podría pensar que usted podría añadir en sortBy
y sortOrder
como dos parámetros adicionales para el método del controlador. En particular, no quiero hacer eso, principalmente porque quiero tener un controlador reutilizable. Cuando utiliza parámetros de cadena de consulta, PHP puede decirle fácilmente si hay un parámetro llamado sortBy
. Sin embargo, cuando usa parámetros basados en URL, variará con cada controlador.
Me preguntaba cuáles eran mis opciones. Por lo que yo puedo ver que son algo así como:
- pase en mis
sortBy
ysortOrder
parámetros, simplemente lo entiendan, y desarrollar algún componente menos-que-reutilizable para ello. - Tiene un controlador adicional, que almacenará el
sortBy
ysortOrder
en la sesión (aunque debería saber de dónde vino y lo enviará de regreso a la página original). - Tiene algún tipo de función AJAX, que llamaría al controlador anterior; luego recarga la página.
- Hack CodeIgniter para volver a activar cadenas de consulta. En realidad, si esta es la única opción, se agradecerá cualquier enlace sobre cómo hacer esto.
¡No puedo creer que una tarea tan simple presente tal problema! ¿Me estoy perdiendo de algo? ¿Alguien tiene alguna recomendación?
Editar una aclaración: Me encanta jQuery, y ya estoy utilizando en el sitio, así TableSorter es una buena opción. Sin embargo, me gustaría hacer la clasificación del lado del servidor, ya que hay algunas páginas con un gran número de resultados, incluida la paginación.
URL ya no existe – Chumillas