2013-11-14 4 views
0

В настоящее время для моих проектов я создаю навигации для каждой страницы вручную, и это выглядит что-то похожее на:Динамическая навигация?

<nav> 
    <ul id="mainMenu"><!--Main Menu--> 
    <li><a class="active" href="index.php">Home</a></li> 
    <li><a href="contact.php">Contact</a></li> 
    </ul> 
</nav> 

Это прекрасно работает, однако для проектов, имеет много много страниц это не очень хорошая практика, или даже эффективнее сделать это вручную. Поэтому мне было интересно, есть ли кто-нибудь, кто может направить меня на правильный путь и посоветует мне, как сделать мою навигацию динамичной? Я знаю о PHP include и файлах .inc - они хороши. НО я хочу добавить класс .active к <a> странице, которая в настоящее время открыта. Как я могу это сделать?

BTW: Я не знаю, если это подходящее место, чтобы опубликовать такие вопросы здесь, но модератор сказал мне, чтобы он разместил его здесь.

ответ

1

Использование включить, чтобы добавить центральный файл PHP, который содержит функцию, которая может принимать текущую страницу в качестве параметра:

nav.inc:

function renderNavigation($current_page) { 
    //render you navigation 
} 

main.php:

require_once("nav.inc"); 
renderNavigation("Subpage 1") 
+0

Итак, в основном добавьте навигацию в файл, например 'nav.inc', и включите php на каждой странице. Эта работа я знаю. Проблема, с которой я столкнулся, заключается в добавлении класса. Активен на кнопку текущей открытой страницы, чтобы сообщить пользователю, что вы просматриваете эту страницу ... Я действительно не знаю о параметре URL, можете ли вы пожалуйста, объясните это немного более четко? Благодарю. –

+0

Извините, не понимаю ваше обновление:/ –

+0

Мой пример - это содержимое файла 'nav.inc'. Пусть include не отображает напрямую, а вместо этого позволяет ему предоставлять функцию, которую вы можете вызывать со своей главной страницы, которая отображает навигацию (используя любой маркер, который вы передаете, чтобы выяснить текущую страницу). – nfechner

Смежные вопросы