그누보드 좌측메뉴나 상단에 메뉴 만들려면 어떻게 해야하나요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

그누보드 좌측메뉴나 상단에 메뉴 만들려면 어떻게 해야하나요? 정보

그누보드 좌측메뉴나 상단에 메뉴 만들려면 어떻게 해야하나요?

본문

head.php파일 소스고요
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

include_once("$g4[path]/head.sub.php");
include_once("$g4[path]/lib/outlogin.lib.php");
include_once("$g4[path]/lib/poll.lib.php");
include_once("$g4[path]/lib/visit.lib.php");
include_once("$g4[path]/lib/connect.lib.php");
include_once("$g4[path]/lib/popular.lib.php");

//print_r2(get_defined_constants());

// 사용자 화면 상단과 좌측을 담당하는 페이지입니다.
// 상단, 좌측 화면을 꾸미려면 이 파일을 수정합니다.

$table_width = 1004;
?>

<!-- 상단 배경 시작 -->
<table width="<?=$table_width?>" cellspacing="0" cellpadding="0">
<tr>
    <td background="<?=$g4['path']?>/img/top_img_bg.gif">
        <table width="100%" height="52" cellspacing="0" cellpadding="0">
        <tr>
            <td><img src="<?=$g4['path']?>/img/top_img.gif" width="100%" height="52"></td>
        </tr>
        </table></td>
</tr>
</table>
<!-- 상단 배경 끝 -->

<!-- 상단 로고 및 버튼 시작 -->
<table width="<?=$table_width?>" cellspacing="0" cellpadding="0">
<tr>
    <td width="43" height="57"></td>
    <!-- 로고 -->
    <td width="220"><a href="<?=$g4['path']?>/"><img src="<?=$g4['path']?>/img/logo.jpg" width="220" height="57" border="0"></a></td>
    <td>
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td>&nbsp;</td>
        </tr>
        </table>
    </td>
    <td width="390" align="right">
        <table border="0" cellspacing="0" cellpadding="0">
        <tr>
            <!-- 처음으로 버튼 -->
            <td width="78"><a href="<?=$g4['path']?>/"><img src="<?=$g4['path']?>/img/top_m01.gif" width="78" height="31" border="0"></a></td>

            <? if (!$member['mb_id']) { ?>
            <!-- 로그인 이전 -->
            <td width="78"><a href="<?=$g4['bbs_path']?>/login.php?url=<?=$urlencode?>"><img src="<?=$g4['path']?>/img/top_m02.gif" width="78" height="31" border="0"></a></td>
            <td width="78"><a href="<?=$g4['bbs_path']?>/register.php"><img src="<?=$g4['path']?>/img/top_m03.gif" width="78" height="31" border="0"></a></td>
            <? } else { ?>
            <!-- 로그인 이후 -->
            <td width="78"><a href="<?=$g4['bbs_path']?>/logout.php"><img src="<?=$g4['path']?>/img/top_m04.gif" width="78" height="31" border="0"></a></td>
            <td width="78"><a href="<?=$g4['bbs_path']?>/member_confirm.php?url=register_form.php"><img src="<?=$g4['path']?>/img/top_m05.gif" width="78" height="31" border="0"></a></td>
            <? } ?>

            <!-- 최근게시물 버튼 -->
            <td width="78"><a href="<?=$g4['bbs_path']?>/new.php"><img src="<?=$g4['path']?>/img/top_m06.gif" width="78" height="31" border="0"></a></td>

        </tr>
        </table></td>
    <td width="35"></td>
</tr>
</table>
<!-- 상단 로고 및 버튼 끝 -->

<!-- 검색 시작 -->
<table width="<?=$table_width?>" cellspacing="0" cellpadding="0">
<tr>
    <td width="43" height="11"></td>
    <td width="220"></td>
    <td width=""></td>
    <td width="234"><img src="<?=$g4['path']?>/img/search_top.gif" width="234" height="11"></td>
    <td width="35"></td>
</tr>
<tr>
    <td height="33"><img src="<?=$g4['path']?>/img/bar_01.gif" width="43" height="33"></td>
    <td><img src="<?=$g4['path']?>/img/bar_02.gif" width="220" height="33"></td>
    <td background="<?=$g4['path']?>/img/bar_03.gif" width="472" height="33"><table width=100% cellpadding=0 cellspacing=0><tr><td width=25>&nbsp;</td><td><?//=popular();?></td></tr></table></td>
    <td>
        <form name="fsearchbox" method="get" onsubmit="return fsearchbox_submit(this);" style="margin:0px;">
        <!-- <input type="hidden" name="sfl" value="concat(wr_subject,wr_content)"> -->
        <input type="hidden" name="sfl" value="wr_subject||wr_content">
        <input type="hidden" name="sop" value="and">
        <table width="100%" height="33" cellspacing="0" cellpadding="0">
        <tr>
            <td width="25" height="25"><img src="<?=$g4['path']?>/img/search_01.gif" width="25" height="25"></td>
            <td width="136" valign="middle" bgcolor="#F4F4F4"><INPUT name="stx" type="text" style="BORDER : 0px solid; width: 125px; HEIGHT: 20px; BACKGROUND-COLOR: #F4F4F4" maxlength="20"></td>
            <td width="12"><img src="<?=$g4['path']?>/img/search_02.gif" width="12" height="25"></td>
            <td width="48"><input type="image" src="<?=$g4['path']?>/img/search_button.gif" width="48" height="25" border="0"></td>
            <td width="13"><img src="<?=$g4['path']?>/img/search_03.gif" width="13" height="25"></td>
        </tr>
        <tr>
            <td width="234" height="8" colspan="5"><img src="<?=$g4['path']?>/img/search_down.gif" width="234" height="8"></td>
        </tr>
        </table>
        </form>
    </td>
    <td></td>
</tr>
</table>

<script type="text/javascript">
function fsearchbox_submit(f)
{
    if (f.stx.value.length < 2) {
        alert("검색어는 두글자 이상 입력하십시오.");
        f.stx.select();
        f.stx.focus();
        return false;
    }

    // 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
    var cnt = 0;
    for (var i=0; i<f.stx.value.length; i++) {
        if (f.stx.value.charAt(i) == ' ')
            cnt++;
    }

    if (cnt > 1) {
        alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
        f.stx.select();
        f.stx.focus();
        return false;
    }

    f.action = "<?=$g4['bbs_path']?>/search.php";
    return true;
}
</script>
<!-- 검색 끝 -->

<div style='height:18px;'></div>

<table width='<?=$table_width?>' cellpadding=0 cellspacing=0 border=0>
<tr>
    <td width=43></td>
    <!-- 왼쪽 메뉴 -->
    <td width=220 valign=top>
        <?=outlogin("basic"); // 외부 로그인 ?>
        <!-- 메뉴 연동 시작 -->
<table width="100%" cellpadding=0 cellspacing=0><tr><td valign=top><div style="height:10px;"></div>
<?
$sql = " select * from g4_write_Menu order by wr_subject, wr_id";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
$newDocDays = 3; // 신규문서 표시 일자... (3일전 문서까지 new 표시;  오늘문서는 0)

//$newDoc = "<font style='font-size:6pt; color:#FF0000;'>new</font>"; // 신규문서 표시
$newDoc = "&nbsp;<img src='/gnuboard4/skin/latest/basic/img/icon_new.gif' />";

//$dom = new DOMDocument("1.0", "UTF-8");
//$root = $dom->createElement("data");
$i=0;
while($i<$rows)
{
$xml_string = mysql_result($res, $i, 'wr_content');
$oDoc = new DOMDocument();  // 객체를 생성한다
$oDoc->loadXML($xml_string);
//echo $oDoc->saveXML();

foreach ($oDoc->childNodes as $cN)
{
$isCategory = false; // 분류 메뉴 유무
$menu_title = ''; // 메뉴 Title
$menu_title_style = ''; // 메뉴 Title 스타일
$menu_url = ''; // 메뉴 URL
$menu_user = ''; // 메뉴 표시 그룹( admin, member, all )
$menu_target = ''; // 클릭시 연결 윈도우
$menu_table = ''; // 데이터 테이블
$menu_new = false; // 신규 데이터 유무

// XML 구조 데이터
if($cN->hasChildNodes())
{
foreach( $cN->childNodes as $ccN )
{
$displayMenu = '';

if( $ccN->nodeName== 'type' && trim($ccN->nodeValue) == 'C') // 분류
$isCategory = true;
else if( $ccN->nodeName == 'type' && trim($ccN->nodeValue) == 'B') // 게시판
$isCategory = false;
else if( $ccN->nodeName == 'title' ) // 타이틀
$menu_title = $ccN->nodeValue;
else if( $ccN->nodeName == 'title_style' ) // 타이틀 스타일
$menu_title_style = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'user' ) // 사용자 구분( all, member, admin)
$menu_user = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'url' ) // 링크 URL
$menu_url = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'table') // 데이터 테이블
$menu_table = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'target' ) // OPEN 윈도우
$menu_target = trim($ccN->nodeValue);
}
//echo 'menu_user : '.$menu_user .'<br />';
//echo 'is_admin : '.$is_admin .'<br />';
//echo 'is_member : '.$is_member .'<br />';

// 데이터 테이블에 대한 정보가 있는 경우 신규문서(3일전) 존재 유무를 체크
if( $menu_table != '' ) {
$baseDate = Date("Y-m-d", mktime(0, 0, 0, date("m")  , date("d")-$newDocDays, date("Y"))); // 신규문서 표시 기준일 (3일전)

$dataSql = " select * from g4_write_". $menu_table ." where wr_datetime > '". $baseDate ."'";
$dataRes = mysql_query($dataSql);
$dataRows = mysql_num_rows($dataRes);

// 신규문서 표시 체크
if( $dataRows > 0 )
$menu_new = true;
}


if( $isCategory )
{
// 분류 체크
if( $menu_user == 'all' || ( $menu_user == 'member' && $is_member == '1' ) || ( $menu_user == 'admin' && $is_admin == 'super'))
$displayMenu = '<div style="height:10px;"></div><font style="font-weight:bold;' . $menu_title_style . '">▷ ' . $menu_title . '</font>';
else if(  $menu_user != 'admin' )
$displayMenu = '<div style="height:10px;"></div><font style="font-weight:bold;' . $menu_title_style . '">▷ ' . $menu_title . '</font>';

}
else
{
// 게시판 표시
if( $menu_user == 'all' || ( $menu_user == 'member' && $is_member == '1' ) || ( $menu_user == 'admin' && $is_admin == 'super'))
{
if( $menu_url != '' )
$displayMenu = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style="cursor:hand; ' . $menu_title_style . '" href="' . $menu_url . '" target="' . $menu_target . '">' . $menu_title . '</a>';
else
$displayMenu = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="' . $menu_title_style . '">' . $menu_title . '</span>';
}
else if(  $menu_user != 'admin' )
$displayMenu = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="' . $menu_title_style . '">' . $menu_title . '</span>';
}

// 메뉴 화면 Display
if( $displayMenu != '' )
{
if( $menu_new)
$displayMenu = $displayMenu . $newDoc;

echo $displayMenu;
}
}
}

//echo $i;
echo "<br />";
$i++;
}
?>
</td></tr></table>
<!-- 메뉴 연동 끝 -->

        <div style='height:10px;'></div>

        <?=poll("basic"); // 설문조사 ?>

        <div style='height:10px;'></div>

        <?=visit("basic"); // 방문자수 ?>

        <div style='height:10px;'></div>

        <?=connect(); // 현재 접속자수 ?>
    </td>
    <td width=18></td>
    <!-- 중간 -->
    <td width=683 valign=top>
원래 head.php파일에다가

 <!-- 메뉴 연동 시작 -->
<table width="100%" cellpadding=0 cellspacing=0><tr><td valign=top><div style="height:10px;"></div>
<?
$sql = " select * from g4_write_Menu order by wr_subject, wr_id";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
$newDocDays = 3; // 신규문서 표시 일자... (3일전 문서까지 new 표시;  오늘문서는 0)

//$newDoc = "<font style='font-size:6pt; color:#FF0000;'>new</font>"; // 신규문서 표시
$newDoc = "&nbsp;<img src='/gnuboard4/skin/latest/basic/img/icon_new.gif' />";

//$dom = new DOMDocument("1.0", "UTF-8");
//$root = $dom->createElement("data");
$i=0;
while($i<$rows)
{
$xml_string = mysql_result($res, $i, 'wr_content');
$oDoc = new DOMDocument();  // 객체를 생성한다
$oDoc->loadXML($xml_string);
//echo $oDoc->saveXML();

foreach ($oDoc->childNodes as $cN)
{
$isCategory = false; // 분류 메뉴 유무
$menu_title = ''; // 메뉴 Title
$menu_title_style = ''; // 메뉴 Title 스타일
$menu_url = ''; // 메뉴 URL
$menu_user = ''; // 메뉴 표시 그룹( admin, member, all )
$menu_target = ''; // 클릭시 연결 윈도우
$menu_table = ''; // 데이터 테이블
$menu_new = false; // 신규 데이터 유무

// XML 구조 데이터
if($cN->hasChildNodes())
{
foreach( $cN->childNodes as $ccN )
{
$displayMenu = '';

if( $ccN->nodeName== 'type' && trim($ccN->nodeValue) == 'C') // 분류
$isCategory = true;
else if( $ccN->nodeName == 'type' && trim($ccN->nodeValue) == 'B') // 게시판
$isCategory = false;
else if( $ccN->nodeName == 'title' ) // 타이틀
$menu_title = $ccN->nodeValue;
else if( $ccN->nodeName == 'title_style' ) // 타이틀 스타일
$menu_title_style = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'user' ) // 사용자 구분( all, member, admin)
$menu_user = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'url' ) // 링크 URL
$menu_url = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'table') // 데이터 테이블
$menu_table = trim($ccN->nodeValue);
else if( $ccN->nodeName == 'target' ) // OPEN 윈도우
$menu_target = trim($ccN->nodeValue);
}
//echo 'menu_user : '.$menu_user .'<br />';
//echo 'is_admin : '.$is_admin .'<br />';
//echo 'is_member : '.$is_member .'<br />';

// 데이터 테이블에 대한 정보가 있는 경우 신규문서(3일전) 존재 유무를 체크
if( $menu_table != '' ) {
$baseDate = Date("Y-m-d", mktime(0, 0, 0, date("m")  , date("d")-$newDocDays, date("Y"))); // 신규문서 표시 기준일 (3일전)

$dataSql = " select * from g4_write_". $menu_table ." where wr_datetime > '". $baseDate ."'";
$dataRes = mysql_query($dataSql);
$dataRows = mysql_num_rows($dataRes);

// 신규문서 표시 체크
if( $dataRows > 0 )
$menu_new = true;
}


if( $isCategory )
{
// 분류 체크
if( $menu_user == 'all' || ( $menu_user == 'member' && $is_member == '1' ) || ( $menu_user == 'admin' && $is_admin == 'super'))
$displayMenu = '<div style="height:10px;"></div><font style="font-weight:bold;' . $menu_title_style . '">▷ ' . $menu_title . '</font>';
else if(  $menu_user != 'admin' )
$displayMenu = '<div style="height:10px;"></div><font style="font-weight:bold;' . $menu_title_style . '">▷ ' . $menu_title . '</font>';

}
else
{
// 게시판 표시
if( $menu_user == 'all' || ( $menu_user == 'member' && $is_member == '1' ) || ( $menu_user == 'admin' && $is_admin == 'super'))
{
if( $menu_url != '' )
$displayMenu = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style="cursor:hand; ' . $menu_title_style . '" href="' . $menu_url . '" target="' . $menu_target . '">' . $menu_title . '</a>';
else
$displayMenu = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="' . $menu_title_style . '">' . $menu_title . '</span>';
}
else if(  $menu_user != 'admin' )
$displayMenu = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="' . $menu_title_style . '">' . $menu_title . '</span>';
}

// 메뉴 화면 Display
if( $displayMenu != '' )
{
if( $menu_new)
$displayMenu = $displayMenu . $newDoc;

echo $displayMenu;
}
}
}

//echo $i;
echo "<br />";
$i++;
}
?>
</td></tr></table>
<!-- 메뉴 연동 끝 -->

이내용을 추가하면 된다고 그래서 그렇게 하고

게시판 그룹관리에서 게시판 메뉴로 따로 하나 만들고 스킨도 설정해줬는데

좌측쪽에 메뉴가 안생겨서..어디가 잘 못 된건지 잘 모르겠어서..

제가 html개념이랑 그누보드에 대한 이해도가 아직은 많이 부족해서

자세히 설명안해주시면 잘 모르거든요..ㅠ 아시는분께서는 자세히 좀 부탁드리겠습니다.
  • 복사

댓글 전체

질문하시는거는 그누보드와 전혀 상관없이 table구조만 이해하시면되는문제입니다.
드림위버가있으시다면 table가튼거 하나씩 생성해보시고
tr td의 구조를 이해하셔야됩니다. 그러기전에는 그냥 의뢰하는걸 붙여넣기뿐 할수 없습니다.
© SIRSOFT
현재 페이지 제일 처음으로