我正在建立一個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