2012-07-31 2 views
0

다음과 같은 종류의 고르지 코드를 처리하는 동안이를 파악하려고합니다.링크 CSS는 URL에 따라 URL을 변경하고 하위 URL에 스타일을 유지합니다.

<?php $curURL = ROOT.$_SERVER['REQUEST_URI']; ?> 
      <li><a href="<?php $href = APP_ROOT; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">HOME</a></li> 
      <li><a href="<?php $href = APP_ROOT.'about'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">ABOUT</a></li> 
      <li><a href="<?php $href = APP_ROOT.'portfolio'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">PORTFOLIO</a></li> 
      <li><a href="<?php $href = APP_ROOT.'services'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">SERVICES</a></li> 
      <li><a href="<?php $href = APP_ROOT.'blog'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">BLOG</a></li> 
      <li><a href="<?php $href = APP_ROOT.'contact'; echo $href; ?>" class="<?php if($href == $curURL) { ?>main_active<?php } ?>">CONTACT</a></li> 

내가 현재 무엇입니까 결과는 내가 선택한 페이지에 나는 경우 (ex. http://localhost/myapp/index/)은 다음 그에 따라 CSS 스타일을 변경합니다 해당 URL입니다. 내가 겪고 싶은 것은 CSS 스타일이 해당 페이지의 하위 URL 인 (ex. http://localhost/myapp/index/dosomething/)에 있어도 변경되지 않는다는 것입니다. 필자는 한동안이 벽에 머리를 두드리는 소리를 냈다.

+0

... 이것은 활성 링크에 클래스를 적용 샘플입니다,하지만 아이디어는 동일합니다! 무슨 엉망 이냐 ... –

+0

위의 코드에 정의 된 상수에 대한 경로가 있다고 위의 게시물에서 언급하는 것입니다. 내 계획은 모든 것을 올바르게 작동시키는 방법을 찾았을 때 이것을 메서드에 추가하는 것입니다. HTML과 PHP를 가능한 한 많이 분리하는 그림은 엉망진창을 도울 것입니다. – Cameeob2003

답변

1

내 사이트에서이 작업을 수행합니다. 오 와우

PHP

$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
$fullPath = parse_url($current_url, PHP_URL_PATH); 
$prepare = explode('/',$fullPath); 
$path = "/" . $prepare[1]; 

HTML

<li><a href="location.php"<?php if($path == $thePath) { echo 'class="active"';}?>>Link Title</a> 
+0

고맙습니다. 이 대답에 동의 한 것으로 설정하십시오. – Cameeob2003

0

당신이 할 수있는 한 가지 방법은 경로를 해체하고 구조가 무엇인지 확인하는 것입니다. 예를 들어 경로가 myapp/index/dosomething이면 경로를 가져 와서 문자열을 "/"로 분할하여 배열을 만듭니다. 그런 다음 배열 [2]가 무엇인지 확인하고 그에 따라 스타일을 설정하십시오.

관련 문제