PHP打印条件与另一个打印

时间:2013-02-13 16:15:15

标签: php navigation conditional

我是PHP的新手,请原谅我,如果这不是实现这一目标的最佳方式。我正在创建一个子导航页面,我希望检测父变量,然后为该父项渲染出正确的子导航。然后在其中检测用户所在的子页面并将.active类打印到子导航。

<?php print (($primaryNav == 'training') ? '
        <li class="'print (($secondaryNav == 'classes') ? 'active' : '')'">
            <a href="/dev/training.php#classes">Classes</a>
        </li>
        <li class="'print (($secondaryNav == 'calendar') ? 'active' : '')'">
            <a href="/dev/calendar/">Calendar</a>
        </li>
        <li class="'print (($secondaryNav == 'instructors') ? 'active' : '')'">
            <a href="/dev/training.php#instructors">Instructors</a>
        </li>
' : ''); ?>

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

为了能够阅读代码,我会做这样的事情:

<?php

if ($primaryNav == 'training') {

  $classes = ($secondaryNav == 'classes') ? 'active' : '';
  $calendar = ($secondaryNav == 'calendar') ? 'active' : '';
  $instructors = ($secondaryNav == 'instructors') ? 'active' : '';

?>
<li class="<?php echo $classes; ?>">
    <a href="/dev/training.php#classes">Classes</a>
</li>
<li class="<?php echo $calendar; ?>">
    <a href="/dev/calendar/">Calendar</a>
</li>
<li class="<?php echo $instructors; ?>">
    <a href="/dev/training.php#instructors">Instructors</a>
</li>
<?php
}
?>