Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Давайте обсудим как можно организовать приоткрытое дерево?

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
pizgin

цитировать



Зарегистрирован: 03 Июл 2008 21:53:50
Сообщения: 8

СообщениеДобавлено: 14 Авг 2008 10:38:24    Заголовок сообщения: Давайте обсудим как можно организовать приоткрытое дерево? Ответить с цитатой

Hi! Давайте обсудим как можно организовать приоткрытое дерево наподобии как на ozon.ru (меню слева). Сейчас использую nested sets и класс TreeBehaviour (cake 1.2).

Допустим есть такое дерево:

Код:
Книги (1,28) [1]
- Автомобили (2,17) [2]
---- Москвич (3,8) [5]
------ 2141 (4,5) [8]
------ 412 (6,7) [9]
---- ВАЗ (9,14) [6]
------ 2106 (10,11) [10]
------ 2109 (12,13) [11]
---- ГАЗ (15,16) [7]
- Программирование (18,25) [3]
-- PHP (19,22) [12]
---- Patterns (20,21) [14]
-- Ruby (23,24) [13]
- Цветы (26,27) [4]


В круглых скобках номера узлов (left,right), в квадратных id.

В принципе проблем сначала и не видно. Выбирай по left и right. Но...

Вот задача:
Допустим мы вычислили что сейчас пользователь находиться на странице про девятки "ВАЗ 2109". Id этого раздела 11, левый узел 12, правый 13. Выборка будет такой: все элементы у которых left<=12 и right >=13. Получим путь до самого верха, но туда не будут входить все остальные.

Получим: 2109, ВАЗ, Автомобили, Книги.

А как получить все остальное?

P.S. Вообще может сначала с алгоритма начнем? Т.е. как вообще решать задачу с таким меню?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Hektor

цитировать



Зарегистрирован: 07 Сен 2008 12:26:43
Сообщения: 15
Откуда: Omsk

СообщениеДобавлено: 16 Сен 2008 13:25:34    Заголовок сообщения: Ответить с цитатой

Доброго времени суток. Мне тоже интересно как реализовывать данную задачу на Cake. Решили?
Поделитесь, плиз. Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kondrat
Гость
цитировать






СообщениеДобавлено: 17 Сен 2008 14:40:52    Заголовок сообщения: Ответить с цитатой Изменить/удалить это сообщение

Tree Helper. Copyright (c) 2008, Andy Dawson
http://bakery.cakephp.org/articles/view/tree-helper-1
Я это использую
Вернуться к началу
Hektor

цитировать



Зарегистрирован: 07 Сен 2008 12:26:43
Сообщения: 15
Откуда: Omsk

СообщениеДобавлено: 17 Сен 2008 17:26:56    Заголовок сообщения: Ответить с цитатой

thanks. Very Happy
попытаюсь разобраться.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru