Pregunta

Tengo una representación de árbol de páginas en una aplicación CMS.Entiendo cómo conservar el árbol en la base de datos.Sin embargo, no tengo una buena manera de:

A) Reordenar las subpáginas bajo una página principal en particular.
B) Proporcionar una implementación de UI que permita al usuario cambiar el orden.

¿Alguna sugerencia?

¿Fue útil?

Solución

Cambiar el orden en sí requerirá que almacene algún tipo de orden junto con cada página en la base de datos.Sólo el valor más alto/más bajo actual +/- 1 probablemente sería un buen punto de partida.Una vez que tenga ese orden allí, reordenar se convierte en un caso de intercambiar dos valores o cambiar el valor de una página para que esté entre otras dos (supongo que podría usar flotantes, pero es posible que deba volver a numerarlos si los divide en demasiadas). veces).

De todos modos, una vez que tengas eso, necesitarás una interfaz de usuario.He visto un enfoque muy simple de 'intercambiar esto con el de arriba/abajo' que puede ser un simple enlace web o una llamada AJAX.También puede presentar todos los valores de la página al usuario y pedirle que los vuelva a numerar como mejor le parezca.Si desea ser más sofisticado, arrastrar y soltar JavaScript puede ser un buen enfoque.he usado ExtJS y Mootools como marcos en este tipo de ámbitos.Si no necesita todos los widgets Extjs, diría que lo deje en el futuro y mire algo como Mootools. Demostración de ordenables dinámicos.

Otros consejos

A) Tengo una aplicación CMS similar y almaceno un valor ordinal con la página para un árbol en particular y clasifico según este valor; debido a que muchas de mis páginas aparecen en sitios completamente diferentes, tengo que mantener el número ordinal en una página/árbol. combinación.

B) A mí también me gustaría una mejor manera de hacer esto.Actualmente, hacen clic en el nodo en la vista de árbol y en la pantalla de la página principal pueden mover la página.Intenté arrastrar y soltar con java script y otras soluciones, pero mis usuarios nunca pudieron trabajar con él sin mucha mano.Me interesarán las respuestas a esta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top