Я действительно понимаю идею использования функции рекурсии для создания меню моего сайта, но у меня возникла проблема, и я бился в голову уже целую вечность.
Мне нужно, чтобы функция меню возвращала вложенный список, но я не хочу, чтобы отображались неактивные элементы дерева irelevent.
подробности. У меня есть база данных MySql с таблицей menu_items, в которой хранятся все обычные поля для элемента навигации (target, link_text, title и т. Д.), А также уникальный идентификатор для каждого элемента и, что важно, parent_id.
Это все для обсуждения, хотя, например, было бы легче сохранить эту информацию в файле XML?
Например, вот пример меню со всеми показанными элементами:
<ul>
<li><a href="1.html">link 1</a>
<ul>
<li><a href="1-1.html">link 1-1</a>
<li><a href="1-2.html">link 1-2</a>
</ul>
</li>
<li><a href="2.html">link 2</a>
<ul>
<li><a href="2-1.html">link 2-1</a>
<li><a href="2-2.html">link 2-2</a>
</ul>
</li>
<li><a href="3.html">link 3</a></li>
</ul>
Но если текущая страница, например, 1-2.html, я хочу, чтобы у меня было такое меню:
<ul>
<li><a href="1.html">link 1</a>
<ul>
<li><a href="1-1.html">link 1-1</a>
<li><a href="1-2.html">link 1-2</a>
</ul>
</li>
<li><a href="2.html">link 2</a></li>
<li><a href="3.html">link 3</a></li>
</ul>
Очевидно, я бы передал либо идентификатор, либо имя текущей страницы в функцию меню.
Есть идеи у кого-нибудь?
Я уже некоторое время бьюсь головой о стену: -)