측면 그룹메뉴 스킨 > 그누보드5 스킨

그누보드5 스킨

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

측면 그룹메뉴 스킨 정보

레이아웃 측면 그룹메뉴 스킨

첨부파일

그룹메뉴.zip (2.1K) 720회 다운로드 2013-10-12 00:51:39

본문

[스킨설명]

측면 그룹메뉴 스킨입니다.

[적용방법]
첨부된 그룹메뉴.zip파일을 다운받아 압축을 풀고 그누보드 폴더에 업로드하시고
haed.php 파일 상단에 groupmenu.lib.php파일을 include 해주시면 됩니다.
※ 귀찮으신분은 groupmenu.lib.php파일을 extend 폴더에 넣어주삼~


include_once(G5_PATH.'/head.sub.php');
include_once(G5_LIB_PATH.'/latest.lib.php');
include_once(G5_LIB_PATH.'/outlogin.lib.php');
include_once(G5_LIB_PATH.'/poll.lib.php');
include_once(G5_LIB_PATH.'/visit.lib.php');
include_once(G5_LIB_PATH.'/connect.lib.php');
include_once(G5_LIB_PATH.'/popular.lib.php');
include_once(G5_LIB_PATH.'/groupmenu.lib.php');


그리고 head.php파일 하단에 외부로그인 밑에 호출함수 넣어주시면 됩니다.

    <div id="aside">
        <?php echo outlogin('basic'); // 외부 로그인  ?>
        <?php echo groupmenu('basic', 24); // 그룹메뉴  ?>
        <?php echo poll('basic'); // 설문조사  ?>
    </div>


[함수설명]
function groumenu($skin, $new_time)
함수명 : groupmenu
인자1 ($skin) : 스킨명 (default : basic)
인자2 ($new_time) : 최근 게시된 글 시간 (시간단위)
                            24시간 이전부터 등록된 갯수를 불러오고 싶으신 경우 : 24

※ 제가 css에는 약한 관계로 레이아웃은 알아서 수정하시길...

[수정사항 - 1차]
1. 선택메뉴 활성화 (bold 처리)

/* style.css 추가 */
#groupmenu li.on {font-weight:bold}

/* groupmenu.skin.php 선택 메뉴 체크 */
<li<?php if($bo_table==$groupmenu[$i]['bo_table']) { echo " class=\"on\""; } ?>><a href="<?php echo $groupmenu[$i]['href'] ?>"><?php echo $groupmenu[$i]['subject'] ?></a><span><?php echo $groupmenu[$i]['cnt'] ?><span></li>


※ 유우니얌님 요청으로 활성화중인 메뉴는 bold처리 해두었습니다.

[수정사항 - 2차]
1. <span> 종료태그 수정
2. 최근 게시된 글의 갯수가 없을 경우 숫자 표시 하지 않음

※ 이거 역시 유우니얌님께서 찾으신 오류^^;;
추천
9

댓글 전체

아 너무 좋아요!!!!!!!!!!!
감사합니다~~~!

그런데 강한남님~!~!

저는 기존에 쓰던 그룹메뉴의 활성화중인 메뉴에 on클래스를 줫엇는데요


class="<?php if($row2['bo_table']==$bo_table) { echo "on";}?>" 

이렇게 줫엇는데 강한남님 소스에서는 안먹네요.. ㅠㅠ

방법이 있나요!!? 히히
한가지 추가로 올려놔요~!~!! ㅎㅎ 
선배님 정말정말..스킨 너무 좋아요 ㅠㅠㅠ 감사합니다
그런데 ie7,8에서 오류가 나서 왜그런가햇더니
카운트 span 태그가 안닫혀잇더라구요 ~! 다른분들을 위해서 제가 올려놓겠습니다!


<?php if ($groupmenu[$i]['cnt'] == 0) { ?> <? } else { ?><span class="gcount"><?php echo $groupmenu[$i]['cnt'] ?></span>

저는 카운트 0일때 안뜨게 할려고 요렇게 바꿧어요!

다들 굳밤이요~!!
그룹 전체 또는 일부를 따로 페이지로 만든 경우는 어떻게 수정하면 될까요?

저는 그룹 전체를 따로 페이지를 만들었습니다.
해서 적용이 되지않네요. 세부 페이지로 들어가야 뜹니다.

현재는 head.php 파일에 인크루드했던 소스를 삭제한 상태입니다.

http://internationale.kr/
따로 만드셨어도 gr_id만 넘어오면 정상적으로 표시는 될텐데요
그누보드 common.php파일에서 $group 정보를 가져오기 때문에 정상적으로 표시는 될텐데요.
사이트 들어가서 보니까 적용을 않하신것 같은데...
다시 소스를 head.php에 넣어두었으니 한번 봐주세요~
세부 페이지로 들어가면 측면 메뉴가 뜹니다.

http://sir.co.kr/bbs/board.php?bo_table=g5_tip&wr_id=291

위 게시글에서처럼 소스를 수정했기 때문인 듯 합니다.
확인해보니 그룹메뉴 선택의 경우에는 그룹페이지를 별도로 만들어놔서
gr_id가 넘어오지 않도록 되어 있네요~!
그룹페이지를 따로 만드셔서 그페이지 $gr_id를 하드코딩 해놓으신것 같은데...

$gr_id = "그룹ID";
include_once('./_common.php');

이렇게 해보시죠~!
특별나게 수정한 사항은 없습니다. 그런 실력도 없구요.
위 게시글에 첨부한 예시를 보면 아시겠지만...
group.php을 복사해서 '최근글' 항목에만 각기 내용을 달리해서 넣었기 때문에... 'include_once('./_common.php');'도 그대로 있습니다. 혹시나 싶어 이중으로 넣어봐도 마찬가지네요.
groupmenu.lib.php에 따로 만든 그룹 페이지들을 불러올 수 있는 소스를 넣어주면 될 듯 한데...
까막눈이라 어찌하면 될지 모르겠네요.

그룹 페이지들을 저런 식으로 만들지않고
group.php의 최근글 항목에 해당 그룹 선택시에 각기 다른 내용을 불러오는 방식으로도 만들 수 있지않을까 하는 생각도 듭니다만... 이 역시도 해결할 능력이 안되네요.
fm25님 그누보드에서 수정을 하지 않는 상태에서 그룹메뉴를 클릭했을때는 group.php?gr_id=그룹ID 이렇게 URL이 넘어가도록 되어 있습니다. 즉 gr_id를 파라미터로 보낸다는 얘기죠~
님께서 만든 메뉴를 보면 gr_id를 넘기지 않고 그룹페이지를 따로 호출하도록 링크가 되어 있습니다.
그래서 gr_id가 넘어오지 않습니다.

따라서 제가 말씀드린건 include_once('./_common.php'); 해당 소스위치보다 상단에 $gr_id="그룹ID"; 를 선언하는 코드를 삽입하시라는 얘기구요.
* 여기서 얘기하는 그룹ID는 게시판그룹 생성시 기입한 그룹ID를 얘기하는겁니다.

측면 메뉴에서도 그룹명을 클릭했을때 그룹페이지를 불러오고 싶으시다면
그룹정보에서 첫번째 여분필드(gr_1)에 그룹페이지명(g_photo.php) 을 적어주시구요.

groupmenu.skin.php 파일을 아래와 같이 수정해보세요

<section id="groupmenu">
	<header>
    <h2>
	<?php if($group['gr_1']) { ?>
	<a href="<?php echo G5_BBS_URL ?>/<?php echo $group['gr_1'] ?>"><? echo $group['gr_subject'] ?></a>
	<?php } else { ?>
	<? echo $group['gr_subject'] ?>
	<?php } ?>
	</h2>
	</header>
    <ul>
        <?php for ($i=0; $i<count($groupmenu); $i++) {  ?>
        <li<?php if($bo_table==$groupmenu[$i]['bo_table']) { echo " class=\"on\""; } ?>><a href="<?php echo $groupmenu[$i]['href'] ?>"><?php echo $groupmenu[$i]['subject'] ?></a>
		<?php if($groupmenu[$i]['cnt']) { ?>
		<span><?php echo $groupmenu[$i]['cnt'] ?></span>
		<?php } ?>
		</li>
        <?php }  ?>
    </ul>    
</section>
그렇게 해봐도 안되네요.
$gr_id="그룹아이디"를 상단으로 올려도 달라지는 부분이 없네요.
오히려 그룹 페이지에서 게시판이 없어집니다.
단순한 3개 그룹은 기존의 group.php 폼에서 그림만 하나씩 추가했었거든요.
(그림만 남고 아래에 나타나야할 게시판은 없어짐)

아무래도 head.php에서 수정 입력했던 '아래 소스'에서 여분필드 'gr_1'으로 바꾸는 방향으로 잡으면 될 듯 합니다.
(여분필드를 이용하는 방식은) 예전에 '배추 라이트'를 사용할 때 썼던 것인데...
G5에서는 어떻게 적용하면 되는지 모르겠습니다.

<? if ($row['gr_id'] == '그룹 아이디1') { ?>
<a <?php if($row[gr_id]==$gr_id){echo "style='color:red;'";}?> href="<?php echo G5_BBS_URL ?>/파일명1.php" class="gnb_1da"><?php echo $row['gr_subject'] ?></a>
<?} elseif ($row['gr_id'] == '그룹 아이디2') { ?>
<a <?php if($row[gr_id]==$gr_id){echo "style='color:red;'";}?> href="<?php echo G5_BBS_URL ?>/파일명2.php" class="gnb_1da"><?php echo $row['gr_subject'] ?></a>
<?} elseif ($row['gr_id'] == '그룹 아이디3') { ?>
<a <?php if($row[gr_id]==$gr_id){echo "style='color:red;'";}?> href="<?php echo G5_BBS_URL ?>/파일명3.php" class="gnb_1da"><?php echo $row['gr_subject'] ?></a>
<?} elseif ($row['gr_id'] == '그룹 아이디4') { ?>
<a <?php if($row[gr_id]==$gr_id){echo "style='color:red;'";}?> href="<?php echo G5_BBS_URL ?>/파일명4.php" class="gnb_1da"><?php echo $row['gr_subject'] ?></a>
<?} else { ?>
<a <?php if($row[gr_id]==$gr_id){echo "style='color:red;'";}?> href="<?php echo G5_BBS_URL ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>" class="gnb_1da"><?php echo $row['gr_subject'] ?></a>
<?}?>

http://g4.miwit.com/bbs/board.php?bo_table=mw_tip&wr_id=548&sca=&sfl=mb_id%2C1&stx=fm25

고수님들의 도움으로 작성했던 글입니다.

바쁘실텐데 귀찮게 해드려서 죄송합니다...;;;
그룹을 일반 페이지로 만들 수도 있고... 하위 메뉴를 게시판을 사용하지 않고 일반 페이지를 만들어 사용할 수도 있습니다.
사노라가노라님이 알려주신 여분필드 방식을 사용했었는데...
지금은 원본 소스가 바뀌어 버려서... 어떻게 여분 필드 소스를 바꾸면 될 지... 해결 못하고 있습니다.
카운터가 초기화 됩니다.
글수를 정확히 인지 못하는 것 같아요 갤러리에 글이 5개 인데 2개만 나와요 (어제 적은것 ) 3개는 이틀전에 적은것.
 ㅠㅠ 뭐가 문제지.
카운터는 최신글 갯수기 때문에 설정시간에 따라 변동됩니다.
시간설정을 더 늘리시는게 좋을 듯 합니다.

function groumenu($skin, $new_time) 
함수명 : groupmenu 
인자1 ($skin) : 스킨명 (default : basic) 
인자2 ($new_time) : 최근 게시된 글 시간 (시간단위) 
                            24시간 이전부터 등록된 갯수를 불러오고 싶으신 경우 : 24 
그룹페이지일때 사용할 수 있는 메뉴이군요.

메인페이지에서 왜 안뜨나 고민했었다는...

나중에 그룹페이지 만들때 사용해봐야겠습니다.^^
select * from g5_group where gr_show_menu = '1' and gr_device <> 'mobile' and gr_id = 'data' order by gr_order
 
1054 : Unknown column 'gr_show_menu' in 'where clause'

error file : /bbs/group.php


어떻게 해야 하나요
gr_show_menu 해당 컬럼이 삭제된것으로 보아 그누보드에서 더이상 해당 필드를 사용하지 않는 것으로 확인됩니다.
조치로 groupmenu.lib.php 파일에
해당 쿼리를 아래와 같이 수정해주세요~


// 기존 쿼리
$sql = " select * from {$g5['group_table']} where gr_show_menu = '1' and gr_device <> 'mobile' and gr_id = '{$group['gr_id']}' order by gr_order ";

// 수정 쿼리
$sql = " select * from {$g5['group_table']} where gr_device <> 'mobile' and gr_id = '{$group['gr_id']}' order by gr_order ";
select * from g5_board where gr_id = 'shop' and bo_show_menu = '1' and bo_device <> 'mobile' order by bo_order

1054 : Unknown column 'bo_show_menu' in 'where clause'

error file : /bbs/group.php
 

그대로 나오네요.
헉..g5_board 테이블에 bo_show_menu 필드도 없어졌나봐요? ㅠㅠ
groupmenu.lib.php 파일에 해당 쿼리를
다음과 같이 수정해주세요


// 기존 쿼리
$sql2 = " select * from {$g5['board_table']} where gr_id = '{$row['gr_id']}' and bo_show_menu = '1' and bo_device <> 'mobile' order by bo_order ";

// 수정 쿼리
$sql2 = " select * from {$g5['board_table']} where gr_id = '{$row['gr_id']}' and bo_device <> 'mobile' order by bo_order ";
$sql = " select * from {$g5['group_table']} where gr_id = '{$row['gr_id']}' and gr_device <> 'mobile' and gr_id = '{$group['gr_id']}' order by gr_order ";

위에 퀘리문도 수정해주셔야 돼요.
전체 2,525 |RSS
그누보드5 스킨 내용 검색

회원로그인

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