2014-04-30 3 views
2

nav의 링크에 활성 클래스를 표시하는 PHP 코드가 있지만 하위 탐색에 대해 활성 클래스를 올바르게 적용하는 솔루션을 찾는 데 문제가 있습니다. 즉, 루트 디렉토리 외부의 폴더에있는 페이지 . 여기에 내가 가진 코드가 있습니다! 여기 PHP를 사용하여 하위 탐색 링크에 활성 클래스를 표시하는 방법?

은 예제 코드입니다 :이 드롭에 대한 예입니다

<li class="<?php if ($current_page == "index.php"){ echo "active "; }?> item"><a href="index.php">Home</a></li> 

:

<?php 
    $current_page = basename($_SERVER['PHP_SELF']); 
?> 

이것은 독립 실행 형 탐색 링크에 대한 예입니다 (그것이 실제 코드에서 작동) 다운 메뉴 : 이제

<li class="<?php if ($current_page == "index.php"){ echo "active "; }?> item has-dropdown"><a href="about.php">About Us</a>... 

지금까지는 서브 네비게이션 용 코드가 작동하지 않지만 실제 코드는 여기에 있습니다! 여기

<li class="<?php if ($cp == "index.php"){ echo "active "; }?> item"><a href="/index.php">Home</a></li> 

내 탐색에서 다운 메뉴에서 실제 드롭입니다 : 여기

<?php 
    $cp = basename($_SERVER['PHP_SELF']); 
    $cf = dirname($_SERVER['PHP_SELF']); 
?> 

은 독립 실행 형 탐색 링크에 대한 예입니다. 코드 나누기, 첫 번째 부분은 잘 작동하지만 두 번째는 우리가 == "코스"가 깨 & & $의 CF를 추가 할 경우

<li class="<?php if ($cp == "courses.php" || $cp == "oshawa.php" && $cf == "courses" || $cp == "bowmanville.php" && $cf == "courses"){ echo "active "; }?> item has-dropdown"> 
    <a href="/courses.php">Courses</a> <!-- COURSES --> 
    <ul class="dropdown"> 
     <li><a href="/courses.php">Courses</a></li> 
     <li><label>Locations</label></li> 
     <li><a href="/courses/oshawa.php">Oshawa</a></li> 
     <li><a href="/courses/bowmanville.php">Bowmanville</a></li> 
    </ul> 
</li> 

이 구체적이다.

$cp == "oshawa.php" && $cf == "courses" 

나는 그것이 형식 문제라고 생각하지 않는다, 나는 그냥 코드 자체, 당장은 확실하지 생각합니다. 나는

+0

검사 (($의 CP == "courses.php"|| $ cp == "oshawa.php") && ($ cf == "courses"|| $ cp == "bowmanville.php") && $ cf == "courses") – user3470953

+0

감사합니다. 귀하의 질문에 정확하게 시간을내어 주셔서 감사합니다. 코드에 문제에 대한 설명과 문제 해결 시도를 제공했습니다. +1 –

+0

@ 무언가 감사 =) – mattroberts33

답변

2

이 모든 과정 페이지 courses 디렉토리 자체에 존재하는 가정 (이 시도) = 모든 도움이, 감사 감사, PHP와 아주 좋은 아니에요.)

<?php 
    $cp = basename($_SERVER['PHP_SELF']); 
    $cf = dirname($_SERVER['PHP_SELF']); 
?> 

<li class="<?php if ($cp == "courses.php" || $cf == "/courses"){ echo "active "; }?> item has-dropdown"> 
    <a href="/courses.php">Courses</a> <!-- COURSES --> 
    <ul class="dropdown"> 
     <li><a href="/courses.php">Courses</a></li> 
     <li><label>Locations</label></li> 
     <li><a href="/courses/oshawa.php">Oshawa</a></li> 
     <li><a href="/courses/bowmanville.php">Bowmanville</a></li> 
    </ul> 
</li> 
+0

그들은 실제로, 나는 그것을 생각하지 않았다, 나는 지금 당장 그것을 시험 할 것이다! – mattroberts33

+0

다음은 내 테스트 페이지입니다. www.mrobertsdesign.ca/courses/oshawa.php - 코드가 작동하지 않았지만 지금은 그것을 따라하고 있습니다. =) – mattroberts33

+0

잠시만 기다려주십시오. –

관련 문제