我用一个寻呼系统是这样的:
<?php
$p = $_GET['p'];
switch($p)
{
case "start":
$p = "pages/start.php";
$currentPageId = 1;
break;
case "customers":
$p = "pages/customers.php";
$currentPageId = 2;
break;
default:
$p = "pages/start.php";
$currentPageId = 1;
break;
}
?>
我想CSS设置class="active"
页面我是上的菜单项。
它的工作原理,如果我打印<li>
项目是这样的:
<li><a href="?p=start" <?php if ($currentPageId == 1) {echo "class='active'";}else {} ?>>Start</a></li>
但我想用三元运算符。 我想这个代码,但它不工作:
<li><a href="?p=start" <?php ($currentPageId == '1') ? 'class="active"' : '' ?>>Startsida</a></li>
任何想法,为什么?
编辑所以,问题是我缺少的echo
。 现在让我来延长这个问题有点...
我需要封装我的整个<ul>
里面的<?php ?>
标签。 所以,我想的是这样的:
echo "<div id='nav'>";
echo "<ul>";
echo "<li><a href='?p=start' /* ternary operator to match if the page I'm on is equal to $currentPageId as defined in the paging system (above), if so set class='active' else do nothing*/>Start</a></li>;
echo "<li><a href='?p=customers' /* ternary operator to match if the page I'm on is equal to $currentPageId as defined in the paging system (above), if so set class='active' else do nothing*/>Customers</a></li>;
echo "</ul>";
echo "</div>";
我需要这样做,因为我会根据显示的链接if
语句。“如果用户是管理员显示此链接,否则不” ......任何人都得到一个解决方案吗?