[3원짜리] 자동메뉴에서 특정 그룹만 링크를 달리해야 한다면?! > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

[3원짜리] 자동메뉴에서 특정 그룹만 링크를 달리해야 한다면?! 정보

[3원짜리] 자동메뉴에서 특정 그룹만 링크를 달리해야 한다면?!

본문

9월입니다. 제가 올드보이 신세를 면할수 있는 달이기도 합니다.
기쁜마음으로  9월 맞이 허접팁 하나올립니다.

자동메뉴를 사용하면서 필요에 의해 적용하게된 코드입니다.
제가 올렸던 그룹관련 메뉴 대부분에 포함된 내용이기도 합니다.
방법, 용어, 설명등에서 문제가 있을수 있으나 하나의 응용사례로 어여삐 봐주세요.

기본경로가 아래처럼 그룹최신글 일때를 예로 듭니다.
<a href='<?=$g4['bbs_path']?>/group.php?gr_id=<?=$group['gr_id']?>' onfocus='this.blur()'><?=$group_subject?></a>

특정 그룹 sample_gal 에서만 링크를 다르게한 경우입니다.
<a href='<?=$g4['path']?><?=$group['gr_id'] == "sample_gal" ? '/gallery' : '/bbs' ;/*특정그룹*/?>/group.php?gr_id=<?=$group['gr_id']?>' onfocus='this.blur()' class="groupSubject"><?=$group_subject?></a>

결과
http://gnusr.com/g4/bbs/group.php?gr_id=work
http://gnusr.com/g4/gallery/group.php?gr_id=sample_gal

응용(3항연산자 활용)
<?=$group['gr_id'] == "a그룹아이디"?'a그룹일때링크':'a그룹제외한그룹링크';?>
코드의 앞 뒤로 공통 경로를 넣어주고 링크가 다른 부분만 3항연산을 활용한 경우입니다.

3항연산에서 내부에 실행함수가 있는경우  더블쿼트(")로 감싸주고 연결자(.) 로 잘 연결해주어야 합니다.
싱글쿼트, 더블쿼트의 사용에 대한 고수님의 팁에보면
싱글쿼트(')는 문자열과 일반변수일때, 더블쿼트(")은 php파싱코드에 사용된다는 설명을 볼 수 있습니다.
참고 $ca_name= ((!empty($multi_ctg)) ? " ".implode(',', $multi_ctg)." " : "분류없음");
조금전에 테스트해본 코드인데 완전하진 않지만 implode함수가 동작 되는것 까지는 확인했습니다.
추가로 "3항연산"을 키워드로 검색해서 응용하시면 도움이 되실겁니다.
3항연산자의 간결 막강함에 감탄의 연속입니다.

사용예; http://gnusr.com/ 최상단 메뉴 "샘플 갤러리"링크만 다른것을 알수있습니다.
    // ## group
    ?><div id="ypRFHmenu"><?
 
        $style = "";
        if ($group['gr_id'] == $gur)//해당 그룹 강조
        $style = "style='font-weight:bold; color:#45436c;'";
        $gr_subject = "<span $style>" . cut_str(get_text($group['gr_subject']),20,"") . "</span>";

    ?><a href='<?=$g4['path']?><?=$group['gr_id'] == "sample_gal"?'/gallery/?gur':'/?gur';/*특정그룹 경로*/?>=<?=$group['gr_id']?>' onmouseover="ypSlideOutMenu.showMenu('<?=$group['gr_id']?>')" onmouseout="ypSlideOutMenu.hideMenu('<?=$group['gr_id']?>')"><?=$gr_subject?></a></div>
추천
1

댓글 6개

수고하셨습니다.....^^

언능 올드보이(?) 면하시길..

근데 요기서의 올드보이의 의미가?....궁금합니당......호호호~~*
전체 31 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT