2013-02-13 60 views
1

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

<?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> 
' : ''); ?> 

谢谢你的帮助。

回答

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 
} 
?> 
+0

这就是我所需要的,谢谢。我对我创建的PHP代码的可憎性表示歉意:) – 2013-02-13 16:29:35

+0

没什么值得惭愧的!我们都随着时间的推移而改进:)这是关于体验的一切 - 保持它! – LeonardChallis 2013-02-13 18:48:11