<div class="menu clearfix"> <ul> <li><a href="./">start</a></li> <li><a href="./?p=rating">rating</a></li> <li><a href="./?p=upload">upload</a></li> </ul>
Было время, так как я использовал php. Есть ли какой-либо умный способ сделать foreach в php и сделать это меню + «активным» классом по нажатой ссылке. Поэтому, если активная страница «рейтинг», html будет отображать:
<div class="menu clearfix"> <ul> <li><a href="./">start</a></li> <li><a href="./?p=rating" class="active">rating</a></li> <li><a href="./?p=upload">upload</a></li> </ul>
благодаря
Предполагая, что значение $_GET
p
будет rating
(или любой другой ссылкой в меню, если на то пошло), можно было бы сделать что-то вроде этого:
<?php echo "<div class=\"menu clearfix\">"; echo "<ul>"; $links = array('rating', 'upload', 'about'); foreach ($links as $link) { $active = ""; if (!empty($_GET['p']) && $link == $_GET['p']){ $active = 'class="active"'; } echo "<li><a href=\"./?p=$link\" $active>$link</a></li>"; } echo "</ul></div>" ?>
Насколько я понимаю, вы хотите знать, какая ли активна после запроса.
Если это так – вы должны получить $ _GET параметр smth, как $ _GET ['p'].
И делать рендеринг, smth нравится:
foreach($ul as $li) { if ($_GET['p'] == $li->code) echo 'class="active"'; }
Например:
<div class="menu clearfix"> <ul> <?php foreach($ul as $li): ?> <li><a href="<?php echo $li->url;?>" <?php echo $_GET['p']==$li->get ? class="active" : ''?>><?php echo $li->name;?></a></li> <?php endforeach; ?> </ul>
<ul class="sub-nav" > <?php $full_name = $_SERVER['PHP_SELF']; $name_array = explode('/',$full_name); $count = count($name_array); $page_name = $name_array[$count-1]; ?> <li><a class="<?php echo ($page_name=='where-to-buy.php')?'active':'';?>" href="where-to-buy.php">WHERE TO BUY</a></li> <li><a class="<?php echo ($page_name=='about.php')?'active':'';?>" href="about.php">ABOUT US</a></li> <li><a class="<?php echo ($page_name=='contact.php')?'active':'';?>" href="contact.php">CONTACT US</a></li>
Пожалуйста, следуйте ниже, чтобы перейти к демо-версии … https://webdesignerhut.com/active-class-navigation-menu/