我正在建立一个CMS,我有我的导航问题。我想将活动类添加到导航中的活动项目。这将正常工作,如果我不得不为每个项目一个页面,但我有其他部分和链接如何使导航项目显示正确的活动类与php
这里是我的代码:
<div id="main-menu">
<?php foreach ($items as $item) : ?>
<?php $active = ''; ?>
<?php if (isset($page)) : ?>
<?php ($item->pageId === $page->id) ? $active = 'active' : $active = ''; ?>
<?php endif; ?>
<?php if ($item->link == '') : ?>
<a href="<?php echo ROOT_PATH; ?>front/site/page?x=<?php echo $item->id; ?>" class="<?php echo $active; ?>"><?php echo $item->label; ?></a>
<?php else : ?>
<a href="<?php echo $item->link; ?>" class="<?php echo $active; ?>"><?php echo $item->label; ?></a>
<?php endif; ?>
<?php endforeach; ?>
当我没有一个页面,然后我将链接提供的值指向特定部分。我怎样才能让他们都能正常工作?
圣PHP代码...嘿嘿,不知道我见过有人代码的PHP之前的方式。无论如何,很难从你给的上下文中说出你的意思。也许给一些你正在获得的HTML输出,以及所需的HTML输出。然后是应该改变行为的示例URL。 – user17753 2012-03-06 21:34:46
另外,当使用[三元比较](http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary)尝试和设置前面的变量像'$ active = ($ item-> pageId === $ page-> id)? 'active':'';' – 2012-03-06 21:38:14
我循环浏览菜单上的所有链接项目,我将活动设置为空,之后检查页面标识是否等于链接项目标识,如果是,则表示我的项目链接在它的页面上,我设置了$ active类。之后,我检查我是否没有设置页面,如果没有,我会做一些事情。例如,如果我在菜单中有5个物品链接,3个带有页面,2个没有页面,只是链接到其他不活动的东西,那么输出就是这样。 – Mythriel 2012-03-06 21:39:56