This seems so basic, yet I am struggling with it so bad. I am creating a navigation that has multi layer dropdowns using ul's and li's so in order to have each (the dropdown and active link within the dropdown) active I have to give classes to multiple elements. I go about this like so..
I defined a variable to detect the page name:
$activePage = basename($_SERVER['PHP_SELF'], ".php");
Now this covered MOST of the main drop downs, but a lot of the links are in requests ?do=page so to highlight each link I used:
<?= ($_GET['do'] == 'page') ? 'active ':''; ?>
An example of on of my dropdowns looks like:
<li class="<?= ($activePage == 'announcement' OR $activePage == 'forum') ? 'active ':''; ?>treeview">
<a href="#">
<i class="fa fa-bullhorn"></i> <span><?php echo $vbphrase['announcements'] ?></span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li class="<?= ($_GET['do'] == 'add') ? 'active ':''; ?>"><a href="announcement.php?do=add"><i class="fa fa-circle-o"></i> <?php echo $vbphrase['post_new_announcement'] ?></a></li>
<li class="<?= ($_GET['do'] == 'modify') ? 'active ':''; ?>"><a href="forum.php?do=modify"><i class="fa fa-circle-o"></i> <?php echo $vbphrase['forum_manager'] ?></a></li>
</ul>
</li>
Which in it's self works, but some of my links and "categories" in different sections have the same $activePage
So I have been trying to make my category sections operate in the following mannor:
if in either of these pages AND any of these gets, be active
To do this I have been trying to create an array rather than having multiple OR ... OR ... OR ... statements. This would all talk place on the first line of my code block, IE:
<li class="<?= ($activePage == array('announcement','forum') AND $_GET['do'] == array('add','modify')) ? 'active ':''; ?>treeview">
However I have not been successful at this. I have attempted creating array variables, i have tried arrays inline, it just does not seem to want to work.
How can I achieve getting an array for the desired outcome to prevent multiple conditions?
Aucun commentaire:
Enregistrer un commentaire