Как сделать навигационные структуры меню с Kohana? - PullRequest
2 голосов
/ 09 июня 2009

Я создал свой собственный небольшой облегченный фреймворк для небольших проектов, а теперь переключился на Kohana.

Но мне интересно, как можно достичь навигационных иерархий.

Пример: у меня есть такое меню:

Главная | Продукты | Поддержка | Контакт

В моем старом фреймворке, когда пользователь нажимал «Продукты», мой фреймворк знал, что это за слой навигации, а затем мое представление добавляло суффикс «_active» к классу css этого пункта меню, поэтому он выделяется. То же самое для всех родительских элементов навигации.

Как вы настраиваете свой сайт в Кохане, чтобы достичь чего-то подобного?

Я думал о создании одного большого макета, содержащего строку меню. Там мне пришлось бы реализовать всю логику, чтобы выяснить, какой пункт меню должен быть выделен как активный. Есть ли какой-нибудь умный механизм для этого, или мне просто нужно как-то выяснить из текущего url в связке if-операторов, если сегмент url соответствует пункту меню?

1 Ответ

3 голосов
/ 10 июня 2009

Вы можете использовать метод uri :: сегмент () , чтобы получить текущую страницу, а затем определить, какой суффикс должен быть основан на этом.

Пример:

# Example Url: http://www.example.com/index.php/article/paris/hilton/
echo $this->uri->segment(3); // Returns 'hilton'

Отсюда нужно просто проверить возвращаемое значение по каждой из ваших навигационных ссылок - когда оно совпадет, добавьте суффикс.

...