Intereting Posts
доступ к файлу другого диска Как добавить бэкэнд Java на существующий сайт PHP без добавления сервера tomcat для Java Bridge? Регулярное выражение для удаления содержимого внутри конкретных скобок Если вы включите файл в PHP в цикле, он будет обращаться к файлу каждый раз, когда он будет работать в цикле? Проблема с обработкой ошибок базы данных в CodeIngniter Печатать файлы, которые не доступны из www-root? Унаследовал кошмар PHP, с чего начать? Как установить colspan динамически с помощью jquery? Как обновить столбец идентификаторов, начиная с 1 раза Функция PostGIS для объединения геометрии LINE вместе? Пользовательский провайдер SonataMediaBundle Выровнять десятичные данные в столбце таблицы на десятичную точку, HTML5, CSS3 Angularjs $ http POST запрос пустой массив Будет ли копирование на запись предотвращать дублирование данных на массивах? Загрузите данные двоичного потока из браузера с помощью PHP с веб-службой «загруженный файл поврежден»

динамическая навигация в php

Как реализовать динамическую навигацию в php?

например

Главная | о компании | контакт | faq | учебные пособия

Мне нужно автоматически генерировать ссылки динамически, соответственно, на каждую страницу без большого скрипта. например, я должен иметь все ссылки без ручного ввода ссылок на страницу друг друга?

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

<?php $pages = array( 'index.php' => 'Home', 'about.php' => 'About', 'contact.php' => 'Contact', 'faq.php' => 'FAQ', 'tutorials.php' => 'Tutorials', ) ; $currentPage = basename($_SERVER['REQUEST_URI']) ; ?> <div id="menu"> <ul id="menuList"> <?php foreach ($pages as $filename => $pageTitle) { if ($filename == $currentPage) { ?> <li class="current"><?php echo $pageTitle ; ?></li> <?php } else { ?> <li><a href="<?php echo $filename ; ?>"><?php echo $pageTitle ; ?></a></li> <?php } //if } //foreach ?> </ul> </div> 

Поместите это в свой собственный файл, скажем menu.php , а затем menu.php его на каждую страницу. Затем вы можете стилизовать свое меню с помощью CSS.

Я согласен с первым решением, даже если это немного просто. Для меня вы должны разбить свой веб-сайт на какой-то скрипт, где вы включаете свой сценарий навигации, как второе решение.

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

  /* header.php (main header template)*/ <html> <head> ... </head> <body> <div id="mainMenu"> <?php echo Navigation::getNav($databaseCnx);?> </div> 

и в другом скрипте вы должны создать класс, который управляет данными

 <?php class Navigation{ static function getNav($cnx){ $menuList = '<ul>'; $dataFromDataBase = $cnx->getArray('MySqlRequest'); foreach($dataFromDataBase as $menu) { $menuList .='<li><a href="'.$menu->uri.'">'.$menu->name.'</a></li>'; } $menuList .= '</ul>'; return $menuList; } } 

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

Кажется, что вы хотите включить файл меню на все ваши страницы. Вы можете использовать include ().

На всех ваших страницах:

 <html> <body> <?php include('navigation.php'); ?> Contents of this page here... </body> </html> 

И в navigation.php:

 <div id="mainmenu"> <a href="home.php">Home</a> | <a href="about.php">About</a> | etc... </div> 

Таким образом вы можете обновить свое навигационное меню только один раз для всех ваших страниц.