|
|
메뉴에 걸린 주소는 다음과 같습니다.
http://www.totokid.com/?mid=program&category=&search_target=extra_vars1&search_keyword=%EC%9E%90%EC%97%B0 extra_vars1 는 첫번째 확장변수이고 %EC%9E%90%EC%97%B0 는 '자연'이라는 검색어입니다. 위 방법이 처음에 했던 방법입니다만 메뉴가 나타나지 않는 문제 때문에 ifrme을 이용해서 다음과 같이 했습니다. http://www.totokid.com/t4 각 메뉴마다 페이지를 만들고 페이지에 위 검색 주소를 호출해서 iframe 으로 게시판(레이아웃 미사용)을 불러오는 것이지요. 이렇게 하면 게시물을 클릭해도 주소창에 보이는 주소가 고정된다는 문제점이 있고 통합검색이나 최근게시물에서 글을 클릭하면 레이아웃이 없는 채로 게시판만 덜렁 떠서 이상해집니다. 참고로 '체험학습 프로그램' 이라는 상위메뉴에는 게시판 1개만 사용됩니다. 같은 게시판의 게시물을 확장변수를 이용해 다양하게 검색해 메뉴로 연결시킨 것이지요. 제 능력으로는 도저히 해결할 방법이 없었는데 제베님 글 보다가 구세주가 나타났다는 생각이 들 정도였습니다. ㅎㅎ 불쌍한 중생 구제해주시는 심정으로 소스 수정까지 해주시면 더 없이 고맙겠습니다. |
|
내가 고려했던 점은, 레이아웃의 contents영역에 게시판을 뿌려줄 때 즉 리스트 뽑을 때 특정 카테고리를 지정했던 것을 레이아웃에서 그냥 사용할 수 있다는 것에 착안했던 거죠. 그래서 게시판리스트에 지정된 카테고리와 메뉴값과 비교해서 같으면 메뉴에 채크해주는 것입니다. 6차 깊이까지 비교가능
제 소견으로는 iframe은 안해봐서 걱정인데요. iframe 상에서 주소값으로 넣은 것이 레이아웃에 전달 된다고 가정하여 이야기 해보죠. 레이아웃의 contents영역에 게시판을 뿌려줄때 검색명령을 사용하여 리스트 뽑게 되면 search_keyword 값이 고정됩니다. 그 값을 레이아웃과 연동할 때 값이 공유될 것입니다. 암튼 님같은 경우에는 iframe이 상당히 걱정되는데 만약 연결이 된다는 가정하에 다시 이야기 하면요 search_keyword 에 무엇이 들어가든지 메뉴의 title 값과 비교해서 같으면 메뉴selected를 1에 주면 되겠죠 음... 그렇게 되면 소스는 어떻게 변할까.... <!--현재의 카테고리를 찾아 제목과 깊이를 얻어낸다-->
<!--◎foreach($category_list as $val)--> <!--◎if($category==$val->category_srl)-->{◎ $selected_title=$val->title}{◎ $selected_depth=$val->depth}<!--◎end--> <!--◎end--> 이 부분은 필요가 없겠네요 지우시고... <!--위에 지워진 부분 대신에 이것을 넣으면 검색어를 선택타이틀로 지정함-->
{@ $selected_title = $search_keyword } <!--현재의 search_keyword를 selected_title에 넣고 메뉴값과 비교해서 같으면 그 정보를 얻어낸다--> {◎ $jxy1=$jxy2=$jxy3=$jxy4=$jxy5=$jxy6=0 } <!--◎if($main_menu->list)--> <!-- 1차 --> {◎ $jx1 = 1 } <!--◎foreach($main_menu->list as $key => $v1)--> <!--◎if($v1['text'])--> <!--◎if($v1['text']==$selected_title)-->{◎ $jxy1=$jx1}<!--◎end--> <!-- 2차 --> <!--◎if($v1['list'])--> {◎ $jx2 = 1 } <!--◎foreach($v1['list'] as $key => $v2)--> <!--◎if($v2['text'])--> <!--◎if($v2['text']==$selected_title)-->{◎ $jxy1=$jx1}{◎ $jxy2=$jx2}<!--◎end--> <!-- 3차 --> <!--◎if($v2['list'])--> {◎ $jx3 = 1 } <!--◎foreach($v2['list'] as $key => $v3)--> <!--◎if($v3['text'])--> <!--◎if($v3['text']==$selected_title)-->{◎ $jxy1=$jx1}{◎ $jxy2=$jx2}{◎ $jxy3=$jx3}<!--◎end--> <!-- 4차 --> <!--◎if($v3['list'])--> {◎ $jx4 = 1 } <!--◎foreach($v3['list'] as $key => $v4)--> <!--◎if($v4['text'])--> <!--◎if($v4['text']==$selected_title)-->{◎ $jxy1=$jx1}{◎ $jxy2=$jx2}{◎ $jxy3=$jx3}{◎ $jxy4=$jx4}<!--◎end--> <!-- 5차 --> <!--◎if($v4['list'])--> {◎ $jx5 = 1 } <!--◎foreach($v4['list'] as $key => $v5)--> <!--◎if($v5['text'])--> <!--◎if($v5['text']==$selected_title)-->{◎ $jxy1=$jx1}{◎ $jxy2=$jx2}{◎ $jxy3=$jx3}{◎ $jxy4=$jx4}{◎ $jxy5=$jx5}<!--◎end--> <!-- 6차 --> <!--◎if($v5['list'])--> {◎ $jx6 = 1 } <!--◎foreach($v5['list'] as $key => $v6)--> <!--◎if($v6['text'])--> <!--◎if($v6['text']==$selected_title)-->{◎ $jxy1=$jx1}{◎ $jxy2=$jx2}{◎ $jxy3=$jx3}{◎ $jxy4=$jx4}{◎ $jxy5=$jx5}{◎ $jxy6=$jx6}<!--◎end--> <!--◎end--> {◎$jx6++} <!--◎end--> <!--◎end--> <!-- 6차 --> <!--◎end--> {◎$jx5++} <!--◎end--> <!--◎end--> <!-- 5차 --> <!--◎end--> {◎$jx4++} <!--◎end--> <!--◎end--> <!-- 4차 --> <!--◎end--> {◎$jx3++} <!--◎end--> <!--◎end--> <!-- 3차 --> <!--◎end--> {◎$jx2++} <!--◎end--> <!--◎end--> <!-- 2차 --> <!--◎end--> {◎$jx1++} <!--◎end--> <!--◎end--> <!-- 1차 --> <!--선택된 메뉴의 부모도 선택되게 한다--> <!--◎if($main_menu->list)--> <!-- 1차 --> {◎ $jx1 = 1 } <!--◎foreach($main_menu->list as $key => $v1)--> <!--◎if($v1['text'])--> <!--mid중복제거--> <!--◎if(($main_menu->list[$key]['selected'])&&($jxy1)&&($jx1 != $jxy1))-->{◎ $main_menu->list[$key]['selected']=0}<!--◎end--> <!--◎if($jxy1==$jx1)--> {◎ $jkey1=$key} {◎ $main_menu->list[$jkey1]['selected']=1} <!--◎end--> <!-- 2차 --> <!--◎if($v1['list'])--> {◎ $jx2 = 1 } <!--◎foreach($v1['list'] as $key => $v2)--> <!--◎if($v2['text'])--> <!--◎if(($jxy1==$jx1)&&($jxy2==$jx2))--> {◎ $jkey2=$key} {◎ $main_menu->list[$jkey1]['list'][$jkey2]['selected']=1} <!--◎end--> <!-- 3차 --> <!--◎if($v2['list'])--> {◎ $jx3 = 1 } <!--◎foreach($v2['list'] as $key => $v3)--> <!--◎if($v3['text'])--> <!--◎if(($jxy1==$jx1)&&($jxy2==$jx2)&&($jxy3==$jx3))--> {◎ $jkey3=$key} {◎ $main_menu->list[$jkey1]['list'][$jkey2]['list'][$jkey3]['selected']=1} <!--◎end--> <!-- 4차 --> <!--◎if($v3['list'])--> {◎ $jx4 = 1 } <!--◎foreach($v3['list'] as $key => $v4)--> <!--◎if($v4['text'])--> <!--◎if(($jxy1==$jx1)&&($jxy2==$jx2)&&($jxy3==$jx3)&&($jxy4==$jx4))--> {◎ $jkey4=$key} {◎ $main_menu->list[$jkey1]['list'][$jkey2]['list'][$jkey3]['list'][$jkey4]['selected']=1} <!--◎end--> <!-- 5차 --> <!--◎if($v4['list'])--> {◎ $jx5 = 1 } <!--◎foreach($v4['list'] as $key => $v5)--> <!--◎if($v5['text'])--> <!--◎if(($jxy1==$jx1)&&($jxy2==$jx2)&&($jxy3==$jx3)&&($jxy4==$jx4)&&($jxy5==$jx5))--> {◎ $jkey5=$key} {◎ $main_menu->list[$jkey1]['list'][$jkey2]['list'][$jkey3]['list'][$jkey4]['list'][$jkey5]['selected']=1} <!--◎end--> <!-- 6차 --> <!--◎if($v5['list'])--> {◎ $jx6 = 1 } <!--◎foreach($v5['list'] as $key => $v6)--> <!--◎if($v6['text'])--> <!--◎if(($jxy1==$jx1)&&($jxy2==$jx2)&&($jxy3==$jx3)&&($jxy4==$jx4)&&($jxy5==$jx5)&&($jxy6==$jx6))--> {◎ $jkey6=$key} {◎ $main_menu->list[$jkey1]['list'][$jkey2]['list'][$jkey3]['list'][$jkey4]['list'][$jkey5]['list'][$jkey6]['selected']=1} <!--◎end--> <!--◎end--> {◎$jx6++} <!--◎end--> <!--◎end--> <!-- 6차 --> <!--◎end--> {◎$jx5++} <!--◎end--> <!--◎end--> <!-- 5차 --> <!--◎end--> {◎$jx4++} <!--◎end--> <!--◎end--> <!-- 4차 --> <!--◎end--> {◎$jx3++} <!--◎end--> <!--◎end--> <!-- 3차 --> <!--◎end--> {◎$jx2++} <!--◎end--> <!--◎end--> <!-- 2차 --> <!--◎end--> {◎$jx1++} <!--◎end--> <!--◎end--> <!-- 1차 -->
|
|
처음에 해보려 했던 방식인데요... 음.... |
|
|
빠른 답변 감사합니다.
일단은 이 정도에서 만족하고 그냥 메뉴명을 다르게 해서 가든지 게시판을 통합하든지 해야겠습니다. 아직은 공사중이지만 한가해지시면 제 홈피www.totokid.com 도 한번 들러서 구경해보세요. 별거는 없지만 남들이 만들어놓은 것을 짜집기해서 잔머리만으로도 이렇게 만들 수 있구나 하는 정도는 보여드릴 수 있을 것 같습니다.ㅎㅎ 바쁘신데 도움 주셔서 정말 감사합니다. 여담이지만 한때 한겨레에 몸담았던 사람으로서 제베님 사이트를 보니 참 대단하십니다. 가끔 놀러오겠습니다. |

newest comments