2

CMS アプリケーションにページのツリー表現があります。データベースにツリーを永続化する方法を理解しています。ただし、次の良い方法がありません。

A) 特定の親ページの下にサブページを並べ替える。
B) ユーザーが順序を変更できるようにする UI 実装を提供します。

助言がありますか?

4

2 に答える 2

0

A)私は同様のCMSアプリを持っており、特定のツリーのページに序数を保存し、この値で並べ替えます-多くのページが完全に異なるサイトに表示されるため、ページ/ツリーに対して序数を維持する必要があります組み合わせ。

B)私もこれを行うためのより良い方法を望んでいます。現在、ツリービューでノードをクリックし、メインページ画面でページを移動できます。私はJavaスクリプトやその他のソリューションでドラッグアンドドロップを試しましたが、ユーザーは多くの手を握らなければそれを操作できませんでした。これに対する反応に興味があります。

于 2008-09-06T01:39:46.933 に答える
0

順序自体を変更するには、データベース内の各ページとともに何らかの順序を保存する必要があります。現在の最高値/最低値 +/- 1 は、おそらく出発点としては適切でしょう。その順序がそこにあると、並べ替えは2つの値を交換するか、1つのページの値を他の2つのページの間で変更するケースになります(フロートを使用できると思いますが、分割しすぎると番号を付け直す必要があるかもしれません)回)。

とにかく、それを手に入れたら、UI が必要です。私は、単純な Web リンクまたは AJAX 呼び出しである、非常に単純な「これを上/下のものと交換する」アプローチを見てきました。また、すべてのページの値をユーザーに提示し、必要に応じて番号を付け直すよう依頼することもできます。より凝ったものにしたい場合は、JavaScript のドラッグ アンド ドロップが良い方法かもしれません。この種の分野では、ExtJSMootoolsをフレームワークとして使用してきました。すべての Extjs ウィジェットが必要ない場合は、将来的にはやめて、Mootools Dynamic Sortables demoのようなものを見てください。

于 2008-09-06T02:45:33.407 に答える