Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Помогите с меню http://forum.kohanaframework.su/viewtopic.php?f=31&t=696 |
Страница 1 из 2 |
Автор: | sasha2020 [ 05 июл 2013, 18:27 ] |
Заголовок сообщения: | Помогите с меню |
Делаю горизонтальное выпадающее меню.Вот Html Код:
Вот к чему продвинулся Код:
Проблема в том что если элемент меню li имеет вложенности (тоесть parent_id==id) ему надо присвоить class="item parent root" а если нет class="item root".Помогите решить |
Автор: | WinterSilence [ 05 июл 2013, 18:41 ] |
Заголовок сообщения: | Re: Помогите с меню |
на гитхабе есть готовый модуль меню |
Автор: | sasha2020 [ 05 июл 2013, 18:48 ] |
Заголовок сообщения: | Re: Помогите с меню |
Готовый это очень хорошо!)))Но уже почти сам сделал,тем более это же просто меню |
Автор: | WinterSilence [ 05 июл 2013, 18:59 ] |
Заголовок сообщения: | Re: Помогите с меню |
вообще для меню обычно рекурсивный метод используют если не nested tree используется, но если меню строго 2х уровневое, то пойдет и так. а в чем именно трудность возникает? вроде все просто Код:
или я что-то упускаю? |
Автор: | sasha2020 [ 05 июл 2013, 23:08 ] |
Заголовок сообщения: | Re: Помогите с меню |
Не все так просто))) class= item parent root приделяется только тем parent_id=0 у которых есть вложеность. Например первая ссылка - "Home", она не имеет вложености ей приделяется class="item root" но она же тоже parent_id=0. |
Автор: | WinterSilence [ 05 июл 2013, 23:32 ] |
Заголовок сообщения: | Re: Помогите с меню |
если я все верно понял, то если это объекты, то преобразуйте в массив вначале(в случае с orm методом as_array), а потом пройдитесь циклом for и проверяйте следующий элемент( т.е. i текущий i+1 следующий). но вообще изврат какой-то имхо, я обычно в таблицу категорий товаров (я интернет-магазинами в основном занимаюсь) добавляю поле в котором хранится кол-во под категорий, чтобы каждый раз его не считать. либо как вариант можно кешировать данное значение, тогда и заморочек таких в циклах не будет |
Автор: | sasha2020 [ 05 июл 2013, 23:53 ] |
Заголовок сообщения: | Re: Помогите с меню |
Таблица обычная id, parent_id,category. for вообще не использую в модели получаю массив передаю в вид а дальше вы видели.Вот весь код print_r ($menu) Array ( [0] => Array ( [category] => Главная [parent_id] => 0 [id] => 4 ) [1] => Array ( [category] => Продукция [parent_id] => 0 [id] => 5 ) [2] => Array ( [category] => Каталог [parent_id] => 0 [id] => 6 ) [3] => Array ( [category] => Монтаж [parent_id] => 6 [id] => 7 ) [4] => Array ( [category] => Дизайн и проектирование [parent_id] => 6 [id] => 8 ) [5] => Array ( [category] => Галерея [parent_id] => 6 [id] => 9 ) [6] => Array ( [category] => Проекты [parent_id] => 6 [id] => 10 ) [7] => Array ( [category] => Новости [parent_id] => 0 [id] => 11 ) [8] => Array ( [category] => Проекты [parent_id] => 0 [id] => 12 ) [9] => Array ( [category] => Типовые проекты [parent_id] => 12 [id] => 13 ) [10] => Array ( [category] => Реализованные проекты [parent_id] => 12 [id] => 14 ) [11] => Array ( [category] => Полезные материалы [parent_id] => 0 [id] => 15 ) [12] => Array ( [category] => Презентации [parent_id] => 15 [id] => 16 ) [13] => Array ( [category] => Cтатьи [parent_id] => 15 [id] => 17 ) [14] => Array ( [category] => Инструкции [parent_id] => 15 [id] => 18 ) [15] => Array ( [category] => Буклеты [parent_id] => 15 [id] => 19 ) [16] => Array ( [category] => Сертификаты [parent_id] => 15 [id] => 20 ) [17] => Array ( [category] => Видео [parent_id] => 15 [id] => 21 ) [18] => Array ( [category] => Контакты [parent_id] => 0 [id] => 22 ) ) |
Автор: | WinterSilence [ 06 июл 2013, 00:06 ] |
Заголовок сообщения: | Re: Помогите с меню |
я про Вид и говорю, что-то вроде того: Код:
|
Автор: | Sergey [ 06 июл 2013, 12:33 ] |
Заголовок сообщения: | Re: Помогите с меню |
WinterSilence писал(а): преобразуйте в массив вначале(в случае с orm методом as_array), а потом пройдитесь циклом for Очень оригинально |
Автор: | WinterSilence [ 06 июл 2013, 18:50 ] |
Заголовок сообщения: | Re: Помогите с меню |
Sergey чего не так то? |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |