문제

CMS 응용 프로그램에 페이지의 트리 표현이 있습니다.데이터베이스에 트리를 유지하는 방법을 이해합니다.그러나 다음과 같은 좋은 방법이 없습니다.

A) 특정 상위 페이지 아래의 하위 페이지를 재정렬합니다.
B) 사용자가 순서를 변경할 수 있는 UI 구현을 제공합니다.

어떤 제안이 있으십니까?

도움이 되었습니까?

해결책

순서 자체를 변경하려면 데이터베이스의 각 페이지와 함께 일종의 순서를 저장해야 합니다.현재 최고/최저 값 +/- 1이 아마도 좋은 출발점이 될 것입니다.일단 거기에 순서가 있으면 재정렬은 두 값을 교환하거나 한 페이지의 값을 다른 두 페이지 사이에 변경하는 경우가 됩니다(내 생각에는 부동 소수점을 사용할 수도 있지만 너무 많이 분할하면 번호를 다시 매겨야 할 수도 있습니다). 타임스).

어쨌든 일단 그것을 얻으면 UI가 필요합니다.나는 간단한 웹 링크나 AJAX 호출이 될 수 있는 매우 간단한 '위/아래의 것으로 바꾸는' 접근 방식을 보았습니다.또한 모든 페이지 값을 사용자에게 제시하고 적절하다고 판단되는 대로 번호를 다시 매기도록 요청할 수도 있습니다.좀 더 멋지게 꾸미고 싶다면 JavaScript 드래그 앤 드롭이 좋은 접근 방식이 될 수 있습니다.나는 사용했다 ExtJS 그리고 무툴즈 이런 종류의 영역에서 프레임워크로 사용됩니다.Extjs 위젯이 모두 필요하지 않다면 앞으로는 더 이상 사용하지 말고 Mootools와 같은 것을 살펴보겠습니다. 동적 정렬 가능 데모.

다른 팁

A) 비슷한 CMS 앱이 있고 특정 트리에 대한 페이지와 함께 서수 값을 저장하고 이 값에 따라 정렬합니다. 많은 페이지가 완전히 다른 사이트에 나타나기 때문에 페이지/트리에 대해 서수를 유지해야 합니다. 콤비네이션.

B) 나 역시 이 일을 하는 더 좋은 방법을 원합니다.현재는 트리뷰에서 노드를 클릭하고 메인 페이지 화면에서 페이지를 이동할 수 있습니다.Java 스크립트 및 기타 솔루션을 사용하여 끌어서 놓기를 시도했지만 사용자는 손을 많이 잡지 않으면 작업할 수 없습니다.나는 이것에 대한 응답에 관심이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top