채택완료

상단의 메뉴에 따른 사이드메뉴 다르게 하는 방법

2015-09-08 (화) 21:40:47 6,282

최상단에 있는 메뉴에 따라

왼쪽이나 오른쪽에 있는 사이드메뉴를 다르게 하는 방법은 어떻게 하나요?

예를들면 상단에 있는 커뮤니티 메뉴를 클릭하면 그에 관련된 사이드메뉴가 뜨고

상단에 있는 Q&A 메뉴를 클릭하며 그에 따른 또 다른 사이드 메뉴가 뜨게 하는 방법은

어떻게 해야 하나요?

에고~ 그누보드 어렵다...예전에 미처 몰랐습니다...ㅜㅜ

모두들 좋은 밤 되십시오~^^)

|

답변 3개 / 댓글 2개

채택된 답변
+20 포인트

답변에 대한 댓글 1개

감사합니다.
시간을 내어 한번 적용하여 보겠습니다.
좋은 하루 되십시오~^^)

여러가지 방법이 있으나 저같은 경우에는 이렇게 합니다.

만약 메뉴가 

회사소개(대메뉴) - 대표인사말,오시는길,보도자료(사이드메뉴) 

커뮤니티(대메뉴) - 자유게시판, Q&A, 팁과노하우(사이드메뉴)

이런식으로 되어있으면

대메뉴를 main , 사이드메뉴(대메뉴의 하위메뉴)를 sub로 해드에서 지정을 해줍니다.

head.php에서 

if($bo_table=="a"){$Main=1;$sub=1;} // 대표인사말 게시판은 1-1로 부여 

if($bo_table=="b"){$Main=1;$sub=2;} // 오시는길 게시판은 1-2로 부여 

if($bo_table=="c"){$Main=1;$sub=3;} // 보도자료 게시판은 1-3로 부여 

if($bo_table=="d"){$Main=2;$sub=1;} // 자유게시판은 2-1 

if($bo_table=="e"){$Main=2;$sub=2;} // Q&A는 2-2 

if($bo_table=="f"){$Main=2;$sub=3;} / 팁과노하우는 2-3 

이런식으로 head에서 게시판별로 나누어서 메인과 서브를 지정해줍니다.

 

그리고 pages 폴더에 사이드메뉴 파일을 예를 들어서 sidamenu.php 이런식으로 만들고 내용은

 

<? if($Main=="1") { ?>

<table width="204" border="0" cellspacing="0" cellpadding="0">

  <tr>

    <td><a href="/bbs/board.php?bo_table=a" onfocus='this.blur();'>

   <img src="../img/대표인사말 메뉴.jpg" border="0"></a></td>

  </tr>

  <tr>

    <td><a href="/bbs/board.php?bo_table=b" onfocus='this.blur();'>

   <img src="../img/오시는길 메뉴.jpg" border="0"></a></td>

  </tr>

  <tr>

    <td><a href="/bbs/board.php?bo_table=c" onfocus='this.blur();'>

   <img src="../img/보도자료 메뉴.jpg" border="0"></a></td>

  </tr>  

</table>

 

<? elseif($Main=="2") { ?>

<table width="204" border="0" cellspacing="0" cellpadding="0">

  <tr>

   ... 위와 같이 커뮤니티의 게시판과 링크를 연결..  

  </tr>  

</table>

 

이런식으로 코딩을 합니다.

 

그리고 head.php 사이드메뉴 들어갈 위치에 

 

 <td><? include_once("$g4[path]/pages/sidemenu.php"); ?></td> 

 

이런식으로 사이드메뉴를 불러옵니다.

 

그런데 홈페이지를 운영할때 게시판만 운영하는 경우는 없고 일반적인 페이지 파일이 필요합니다.

 

이런경우는 이렇게 했습니다.

 

루트 폴더 밑에 page.php를 만들고 내용은

<?

include_once("./_common.php");

include_once("$g4[path]/head.php");

?>

<? 

if (!file_exists("$g4[path]/pages/sub{$Main}_{$sub}.php")){

echo "sub{$Main}_{$sub}.php   준비중입니다.";

}else {

include_once("$g4[path]/pages/sub{$Main}_{$sub}.php");

}

?>

<?

include_once("$g4[path]/tail.php");

?>

이렇게 해줍니다.

그리고 pages 폴더에 sub1_4.php sub1_5.php 같이 파일을 만들어서 코딩을 하시면 됩니다.

여기서 1_4와 1_5는 메인과 서브 번호이기 때문에 주소는 /page.php?Main=1&sub=4 이렇게 불러옵니다. 

위에 사이드 메뉴 파일에서 회사소개 if문 부분에 

      <tr>

        <td><a href="/page.php?Main=1&sub=4" onfocus='this.blur();'><img src="../img/1_4메뉴.jpg"  border="0" /></a></td>

      </tr>

 

이런식으로 해주시면 됩니다. head에서 게시판을 메인과 서브를

if($bo_table=="a"){$Main=1;$sub=1;} 이런식으로 지정을 해주었는데 sub1_1.php 파일은 만들면 안되겠죠? 

그누보드 4기준으로 작성이 되었지만 글쓰는 재주가 없어서 이해가 되실련지 모르겠네요.

요약하자면 head 에서 게시판이면 메인과 서브를 지정을 해주고 이를 사이드에서 불러올때는 

<? if($Main=="1") { ?> 

...메인1의 메뉴

<? elseif($Main=="2") { ?> 

메인2의 메뉴

이렇게 불러와주고, 게시판이 아닌 일반 페이지파일은 page.php와 sub메인_서브.php이런식으로 해결하면 될것 같습니다.

 

답변에 대한 댓글 1개

감사합니다. 한 번 적용해 보겠습니다.
위의 'fm25'님이 알려주신 방법도 해봤는데...괜챃은 것 같습니다.
좋은 하루 되십시오~
저도그거때문에 고민중입니다 노가다가 필요할것같네요

답변을 작성하려면 로그인이 필요합니다.