2013-02-13 65 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