![]() |
|
Модераторы: Illuminaty |
![]()
|
|
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: 3 Всего: 5 |
Предлагаю юзабилити задачку. Брейнсторм даже.
Возникта потребность придумать механизм для отображения бесконечного количества связанных зависимых категорий. Идея в том, что есть рутовая категория, в ней есать субкатегория, в субкатегории есть своя субкатегория и так до безконечности. На практике такое часто решается с динамическими селектами - тоесть когда юзер выбрал рутовую категорию, то динамически генерится select с субкатегорией ну и так далее. Это хорошо, когда субкатегорий штук 5, но их может быть и 20. Важное замечание: субкатегория конечна и конечная субкатегория имеет "на дне" рубрику - это уже тот текст, который показывается юзеру, и субкатегория не может иметь одновременно и вложенную субкатегорию и рубрику. Как правильнее всего представить процесс выбора без конечных категорий?Вероятное решение я уже нашел, но хотело бы услышать ещё варианты, потому что мог ведь упустить что-то очевидное. |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 6 Всего: 260 |
не очень удобный, но при большой глубине вложения "реальный" вариант: два селекта + одна текстовая строка.
первый - надкатегория относительно текущей, её "соседи" и пункт ".." для поднятия через один уровень второй(лучше - сразу несколько строк отображать) - список "подкатегорий" текущей категории. вот так и можем идти: либо вниз до дна, либо вверх. текстовая строка, соответственно, представляет собой текущую выбранную категорию. |
|||
|
||||
| Grig |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 809 Регистрация: 29.4.2005 Где: Иркутск Репутация: нет Всего: 16 |
по моему без деревьев не обойтись.
Но так как вложенных элементов может быть очень много, то выглядеть будет примерно так: <root> | ---1(1 уровень) ---2(1 уровень) ---3(1 уровень) </root> пользователь кликает на 2(1 уровень) и он становиться root-ом: <2(1 уровень)> | ---1(2 уровень) ---2(2 уровень) ---3(2 уровень) <2(1 уровень)> Еще нужна будет ссылка "На уровень выше" -------------------- |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
||||
|
||||
| Grig |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 809 Регистрация: 29.4.2005 Где: Иркутск Репутация: нет Всего: 16 |
Если интересно и нужно, доберется, родненький, никуда не денется =)
дополнительно можно разместить топовые ссылочки на самое важное в структуре. Но это уже зависит от задачи. -------------------- |
|||
|
||||
| Castro |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 353 Регистрация: 31.8.2007 Где: Украина Репутация: 3 Всего: 5 |
Спасибо всем за предложенные варианты.
Feldmarschall, 20 это конечн6о я перегнул, реально будет до 7, но всё равно много. Количество влложенных уровней решаю не я, но нужно быть готовым к любому количеству. У меня пока был, один вариант, вполсе просмотра ваши ещё один родился. 1. Что-то типа карусели (http://billwscott.com/carousel/carousel_endless_module.html, но она горизотнальная). Обображается селект, который показывает, скажем, 10 позиций в категории, ну и скролинг конечно есть. Я выбираю категорию, за екраном, в этот момент генерииться следующий селект, и я нажимаю стрелку вправо и проматываю дальше, чтобы выбрать следующую. 2. Вчерашний вариант. Отображать одновременно 3 селекта - текущий уровень субкатегорий; уровень субкатегорий, который находиться выше над текущим уровнем и уровень, следующий за текущим. Тоесть я выбираю категорию в правом крайнем селекте, тогда вся картинка перерисовывается и смещаеться влево, и теперь крайний правый селект перемещаеться в центр, слева находиться селект, который был до этого центральным, а справа пояляется селект, с субкатегориями, коьторые зависят от того, что я выбрал в центральном селекте. Ну и в обратную сторону так же |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: нет Всего: 32 |
Нужно не быть готовым к любому количеству, а проектировать систему так, чтобы она была удобной пользователю.
Система делается не для заумного теоретика интерфейсов, а для простого пользователя. |
|||
|
||||
| Itsys |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1338 Регистрация: 21.1.2008 Где: г. Москва Репутация: 9 Всего: 34 |
А кто сказал, что надо пользоваться "selectaми", при большом количестве вложений для выбора можно использовать что-то типа выпадающего меню - кликнул мышкой по первому уровню - вывалился второй, кликнул по вторму вывалился третий и т.д. пока вложенность не закончится - при клике на конечной категории информация о выборе записывается в скрытое поле и в <span> выводитя результа выбора.
ЗЫ Надеюсь понятно объяснил... ЗЗЫ Я, во всяком случае делал так |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 97 Всего: 401 |
А в самом деле раскрывающееся дерево а-ля виндовый проводник, да с аяксовой подгрузкой выбранных ветвей, не подойдет? Имхо, элемент стандартный и юзерам привычный, а в Сети море готовых реализаций...
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |