선택 된 페이지 강조하려면... 채택완료
추팔소
7년 전
조회 1,922
</p>
<p><li><a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="menu-nav-left nav-<?php echo $i; ?>"><?php echo $row['me_name'] ?></a></li></p>
<p>
위 코드는 for문 내의 html 코드 입니다.
선택 된 게시판 페이지 class에 'on' 이라는 클래스를 하나 주고
'on' 이라는 클래스는 글자색이나 배경색 다르게 주려고 합니다.
찾아봤는데 거의 다 자바스크립트로만 되어 있더라구요.
php 코드로만 쓸 수 있는 방법이 있다면 알려주시면 감사드리겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
7년 전
간단한 꼼수 입니다만 strpos 를 사용해서 비교하는건 어떨까요?
테이블이의 접두어가 있는 경우는 고려되지 않았습니다. (Ex. domain_test, domain_test2)
</p>
<p><?</p>
<p>// strpos를 사용해서 문자열 체크</p>
<p>$haystack = $_SERVER['REQUEST_URI']; // <a href="http://site.com/bbs/board.php?bo_table=test" target="_blank" rel="noopener noreferrer">http://site.com/bbs/board.php?bo_table=test</a></p>
<p>$needle = str_place("/","bo_table=",$row['me_link']); // bo_table=test</p>
<p>?></p>
<p><?=strpos($haystack,$needle) !== false ? "on" : "off"; ?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
추팔소
7년 전
댓글을 작성하려면 로그인이 필요합니다.
7년 전
빨간 부분 추가하시면 됩니다.
빨간 부분하고 기존 부분 사이에 꼭 공백이 들어가야 on 클래스 먹힙니다~
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
추팔소
7년 전
우선 답변 감사드립니다.
답변해주신 내용도 이미 생각해봤지만 자동화(?)를 위해서 포기한 코드입니다 ㅠ.ㅠ
테이블명으로 쓰는 건 일일히 수동 작업이라....
갑자기 한 가지 생각난게 있는데요.
[ href의 $row['me_link']와 '현재 페이지 주소'가 일치하면 'on' 클래스를 넣어주는 걸로도
가능할 것 같은데 현재 페이지 주소를 불러오는 함수가 있을까요?
답변해주신 내용도 이미 생각해봤지만 자동화(?)를 위해서 포기한 코드입니다 ㅠ.ㅠ
테이블명으로 쓰는 건 일일히 수동 작업이라....
갑자기 한 가지 생각난게 있는데요.
[ href의 $row['me_link']와 '현재 페이지 주소'가 일치하면 'on' 클래스를 넣어주는 걸로도
가능할 것 같은데 현재 페이지 주소를 불러오는 함수가 있을까요?
�
추팔소
7년 전
$_SERVER['REQUEST_URI']
현재 페이지 주소를 불러오는 함수는 찾았습니다.
그런데 문제가 뭐냐면....
제가 현재 짧은 주소를 사용중이라 이 상태에서의 예를 들어 보겠습니다.
$row['me_link'] 는 "/test" (테이블명) 만 출력됩니다.
$_SERVER['REQUEST_URI'] 는 "http://site.com/bbs/board.php?bo_table=test" 이렇게 출력됩니다.
결과적으로 두 값이 100% 일치하진 않습니다.
다른 해결 방법 없을까요?
현재 페이지 주소를 불러오는 함수는 찾았습니다.
그런데 문제가 뭐냐면....
제가 현재 짧은 주소를 사용중이라 이 상태에서의 예를 들어 보겠습니다.
$row['me_link'] 는 "/test" (테이블명) 만 출력됩니다.
$_SERVER['REQUEST_URI'] 는 "http://site.com/bbs/board.php?bo_table=test" 이렇게 출력됩니다.
결과적으로 두 값이 100% 일치하진 않습니다.
다른 해결 방법 없을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
감사합니다...
제가 찾은 방법은 아래와 같습니다.
[code]
<li><a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="menu-nav-left <?php if($row['me_link'] == G5_URL.'/'.$bo_table) { echo 'on'; } ?>"><?php echo $row['me_name'] ?></a></li>
[/code]