Domanda

Ho una rappresentazione ad albero delle pagine in un'applicazione CMS.Capisco come rendere persistente l'albero nel database.Tuttavia, non ho un buon modo per:

A) Riordina le sottopagine sotto una particolare pagina principale.
B) Fornire un'implementazione dell'interfaccia utente che consenta all'utente di modificare l'ordine.

Eventuali suggerimenti?

È stato utile?

Soluzione

La modifica dell'ordine stesso richiederà la memorizzazione di una sorta di ordinamento insieme a ciascuna pagina nel database.Solo il valore attuale più alto/più basso +/- 1 sarebbe probabilmente un buon punto di partenza.Una volta ottenuto l'ordine, il riordinamento diventa un caso di scambio di due valori o di modifica del valore di una pagina in modo che si trovi tra altre due (immagino che potresti usare i float, ma potresti dover rinumerare se la dividi troppe volte volte).

Ad ogni modo, una volta ottenuto questo, hai bisogno di un'interfaccia utente.Ho visto un approccio molto semplice "scambia questo con quello sopra/sotto" che può essere un semplice collegamento Web o una chiamata AJAX.Potresti anche presentare tutti i valori della pagina all'utente e chiedergli di rinumerarli come meglio crede.Se vuoi essere fantasioso, il trascinamento della selezione JavaScript potrebbe essere un buon approccio.ho usato ExtJS E Mootools come strutture in questo tipo di settore.Se non hai bisogno di tutti i widget Extjs, direi di allontanartene in futuro e di guardare qualcosa come Mootools Demo degli ordinabili dinamici.

Altri suggerimenti

R) Ho un'app CMS simile e memorizzo un valore ordinale con la pagina per un particolare albero e ordino in base a questo valore: poiché molte delle mie pagine appaiono in siti completamente diversi, devo mantenere il numero ordinale rispetto a una pagina/albero combinazione.

B) Anch'io vorrei un modo migliore per farlo.Attualmente fanno clic sul nodo nella visualizzazione ad albero e nella schermata della pagina principale possono spostare la pagina.Ho provato a trascinare e rilasciare con script Java e altre soluzioni, ma i miei utenti non potrebbero mai lavorarci senza tenerli per mano.Sarò interessato alle risposte a questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top