Как установить порядок в подузлах древовидной структуры - PullRequest
2 голосов
/ 06 сентября 2008

У меня есть древовидное представление страниц в приложении CMS. Я понимаю, как сохранить дерево в базе данных. Тем не менее, у меня нет хорошего способа:

A) Переупорядочить подстраницы под определенной родительской страницей.
Б) Предоставить реализацию пользовательского интерфейса, которая позволяет пользователю изменять порядок.

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 06 сентября 2008

Изменение самого заказа потребует от вас сохранения какого-то порядка вместе с каждой страницей в базе данных. Просто текущее самое высокое / самое низкое значение +/- 1, вероятно, будет хорошей отправной точкой. После того, как у вас есть этот порядок, переупорядочение становится случаем замены двух значений или изменения значения для одной страницы, чтобы быть между двумя другими (я думаю, вы могли бы использовать числа с плавающей запятой, но вам может потребоваться перенумеровать, если вы разделите его слишком много раз).

В любом случае, как только вы это получите, вам нужен пользовательский интерфейс. Я видел очень простой подход «поменяйте местами с помощью выше / ниже», который может быть простой веб-ссылкой или вызовом AJAX. Вы также можете представить все значения страницы пользователю и попросить их изменить нумерацию по своему усмотрению. Если вы хотите стать модным, JavaScript перетаскивание может быть хорошим подходом. Я использовал ExtJS и Mootools в качестве фреймворков в такой области. Если вам не нужны все виджеты Extjs, я бы сказал об этом в будущем и посмотрю что-то вроде демонстрации Mootools Dynamic Sortables .

0 голосов
/ 06 сентября 2008

A) У меня есть подобное приложение CMS, и я сохраняю порядковое значение со страницей для определенного дерева и сортирую по этому значению - потому что многие мои страницы появляются на совершенно разных сайтах, я должен сохранить порядковый номер против комбинация страницы / дерева.

Б) Я тоже хотел бы сделать это лучше. В настоящее время они щелкают по узлу в древовидной структуре и на экране главной страницы могут перемещать страницу. Я пробовал перетаскивать файлы с помощью java-скрипта и других решений, но мои пользователи никогда не могли бы работать с ним, не взявшись за руки. Мне будут интересны ответы на этот вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...