고수님들 조언 좀 해주시면 정말 감사하겠습니다. > 그누4 질문답변

그누4 질문답변

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

고수님들 조언 좀 해주시면 정말 감사하겠습니다. 정보

고수님들 조언 좀 해주시면 정말 감사하겠습니다.

본문

바쁘신 시간에 들려주셔서 정말 감사합니다.
첨부해드린 이미지에서 처럼 홈페이지를 구현하고 싶은데요.
나름대로 스킨자료실에서 여러번 검색을 해보았구요 연구도 해보았지만
어떻게 하면 될지 모르겠습니다.
현재의 스킨 자료실의 어떤 스킨을 활용하여서 제작을 하면 된다거나
또는 어떤 빌더들의 스킨을 참조하면 된다고 알려주시거나
구현 방법상 힌트라도 지적하여주시면 정말 고맙겠습니다.
그누프로님들 잘 부탁드려요..꾸벅...
  • 복사

댓글 전체

음 우선 간략하게 말씀드리겠습니다.

저가 말 하는 구조는 별로 도움이 되지 않을 수도 있습니다.

우선 저는 신청하는 게시판과, 보여주는 게시판을 달리하라고 말씀드리고 싶습니다.

우선 보여주는 게시판 list 즉 위에 스크린샷과 같은 것은요 list 형식으로 부르는게 좋다고 봅니다.

우선 활용하는 필드를 알리겠습니다.

wr_subject, wr_1~4

<table width="100%" align="center">
<tr>
<td valign="top" style="text-align:left;">홈페이지 제작</td>
</tr>
<tr><td>
<table>
<tr>
<td>상품</td>
<td>제작기간</td>
<td>도메인</td>
<td>웹호스팅</td>
<td>제작비용</td>
<td>구매하기</td>
</tr>
<? for($i=0;$i<'출력하고 싶은 개수-1';$i++) { ?>
<tr>
<td><?=$list[subject];?></td>
 <td><?=$list[wr_1];?></td>
  <td><?=$list[wr_2];?></td>
  <td><?=$list[wr_3];?></td>
    <td><?=$list[wr_4];?></td>
    <td><a href="게시판 추가후 그 게시판의 write URL적으시길.."><img src="버튼이미지"></a></td>
</tr>
<? } ?>
</table>
</td>
</tr>
</table>
내컴퓨터님 소중한 시간에 자세히 설명까지 해주셔서 정말 고마워요.
가르쳐주신 방법대로 따라 하면 꼭 성공할것 같은데요.
제 실력이 너무 떨어져서 방법은 조금 이해 되는것 같은데요.
막상 작업을 하려고 했을 때는 또 어디서부터 손을 봐야 할지 난감하네요.
정말 꼭 그렇게 구현을 해보구 싶은데요.
염치불구하겠지만 좀 더 자세히 설명해주시면 정말 고맙겠어요.
고사성어에 "물에 빠진 사람은 지푸라기라도 잡는다"라고 하였지요.
비록 잘 설명을 해주셨지만 고수님께 조르고 싶네요.
*** 개인정보보호를 위한 이메일주소 노출방지 ***
<form name="fboardlist" method="post">
    <input type='hidden' name='bo_table' value='<?=$bo_table?>'>
    <input type='hidden' name='sfl'  value='<?=$sfl?>'>
    <input type='hidden' name='stx'  value='<?=$stx?>'>
    <input type='hidden' name='spt'  value='<?=$spt?>'>
    <input type='hidden' name='page' value='<?=$page?>'>
    <input type='hidden' name='sw'  value=''>
<table>
<tr>
<td>상품명</td><td>제작기간</td><td>도메인</td><td>용량/트래픽</td><td>제작비용</td><td>구매하기</td>
</tr>
<? for ($i=0; $i<count($list); $i++) { ?>
<tr>
<td><?=$list[$i][wr_subject];?></td><td><?=$list[$i][wr_1];?></td><td><?=$list[$i][wr_2];?></td><td><?=$list[$i][wr_3];?></td><td><?=$list[$i][wr_4];?></td>
</tr>
<? } ?>
</table>
<? if ($is_admin == "super" || $is_auth) { ?><a href="<?=$write_href?>"><img src="<?=$board_skin_path?>/img/btn_write.gif" border='0'></a><? } ?>
</form>
알려 주신대로 따라 해보구 있었는데요...
제 홈페이지 주소는 http://yili.cafe24.com ...입니다.
가르쳐주신 소스를 메인화면에 집어넣었는데요.
그 다음엔 어떻게 게시판(필드 설정)과 연동을 시킬지 잘 모르겠습니다.
허락해주시면 FTP와 관리자 로그인정보를 함께 알려드리겠습니다.
(게시판에 답변을 해주시기 보다는 관리자 모드에서 필드설정을 교정해주시는것이 훨씬 간편하겠네요.)
꼭 알고 넘어가고 싶은데요.
염치불구하겠지만 잘 부탁드려요...~_~
아 write 스킨 소스 공개하겟습니다.

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

if ($is_dhtml_editor) {
    include_once("$g4[path]/lib/cheditor4.lib.php");
    echo "<script src='$g4[cheditor4_path]/cheditor.js'></script>";
    echo cheditor1('wr_content', '100%', '250');
}
?>

<div style="height:14px; line-height:1px; font-size:1px;">&nbsp;</div>

<style type="text/css">
.write_head { height:30px; text-align:center; color:#8492A0; }
.field { border:1px solid #ccc; }
</style>

<script language="javascript">
// 글자수 제한
var char_min = parseInt(<?=$write_min?>); // 최소
var char_max = parseInt(<?=$write_max?>); // 최대
</script>

<form name="fwrite" method="post" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=null>
<input type=hidden name=w        value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=sca      value="<?=$sca?>">
<input type=hidden name=sfl      value="<?=$sfl?>">
<input type=hidden name=stx      value="<?=$stx?>">
<input type=hidden name=spt      value="<?=$spt?>">
<input type=hidden name=sst      value="<?=$sst?>">
<input type=hidden name=sod      value="<?=$sod?>">
<input type=hidden name=page    value="<?=$page?>">

<table width="<?=$width?>" align=center cellpadding=0 cellspacing=0><tr><td>


<div style="border:1px solid #ddd; height:34px; background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x;">
<div style="font-weight:bold; font-size:14px; margin:7px 0 0 10px;">:: <?=$title_msg?> ::</div>
</div>
<div style="height:3px; background:url(<?=$board_skin_path?>/img/title_shadow.gif) repeat-x; line-height:1px; font-size:1px;"></div>


<table width="100%" border="0" cellspacing="0" cellpadding="0">
<colgroup width=90>
<colgroup width=''>
<tr><td colspan="2" style="background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x; height:3px;"></td></tr>
<? if ($is_name) { ?>
<tr>
    <td class=write_head>이 름</td>
    <td><input class='ed' maxlength=20 size=15 name=wr_name itemname="이름" required value="<?=$name?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_password) { ?>
<tr>
    <td class=write_head>패스워드</td>
    <td><input class='ed' type=password maxlength=20 size=15 name=wr_password itemname="패스워드" <?=$password_required?>></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_email) { ?>
<tr>
    <td class=write_head>이메일</td>
    <td><input class='ed' maxlength=100 size=50 name=wr_email email itemname="이메일" value="<?=$email?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_homepage) { ?>
<tr>
    <td class=write_head>홈페이지</td>
    <td><input class='ed' size=50 name=wr_homepage itemname="홈페이지" value="<?=$homepage?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<?
$option = "";
$option_hidden = "";
if ($is_notice || $is_html || $is_secret || $is_mail) {
    $option = "";
    if ($is_notice) {
        $option .= "<input type=checkbox name=notice value='1' $notice_checked>공지&nbsp;";
    }

    if ($is_html) {
        if ($is_dhtml_editor) {
            $option_hidden .= "<input type=hidden value='html1' name='html'>";
        } else {
            $option .= "<input onclick='html_auto_br(this);' type=checkbox value='$html_value' name='html' $html_checked><span class=w_title>html</span>&nbsp;";
        }
    }

    if ($is_secret) {
        if ($is_admin || $is_secret==1) {
            $option .= "<input type=checkbox value='secret' name='secret' $secret_checked><span class=w_title>비밀글</span>&nbsp;";
        } else {
            $option_hidden .= "<input type=hidden value='secret' name='secret'>";
        }
    }
   
    if ($is_mail) {
        $option .= "<input type=checkbox value='mail' name='mail' $recv_email_checked>답변메일받기&nbsp;";
    }
}

echo $option_hidden;
if ($option) {
?>
<tr>
    <td class=write_head>옵 션</td>
    <td><?=$option?></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

<? if ($is_category) { ?>
<tr>
    <td class=write_head>분 류</td>
    <td><select name=ca_name required itemname="분류"><option value="">선택하세요<?=$category_option?></select></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
<tr>
    <td class=write_head>제작 기간</td>
    <td><input class='ed' style="width:100%;" name=wr_1 id="wr_1" itemname="제목" required value="<?=$wr_1?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td class=write_head>도메인 개수</td>
    <td><input class='ed' style="width:100%;" name=wr_2 id="wr_2" itemname="제목" required value="<?=$wr_2?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td class=write_head>용량/트래픽</td>
    <td><input class='ed' style="width:100%;" name=wr_3 id="wr_3" itemname="제목" required value="<?=$wr_3?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td class=write_head>제작 비용</td>
    <td><input class='ed' style="width:100%;" name=wr_4 id="wr_4" itemname="제목" required value="<?=$wr_4?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<tr>
    <td class=write_head>상품명</td>
    <td><input class='ed' style="width:100%;" name=wr_subject id="wr_subject" itemname="제목" required value="<?=$subject?>"></td></tr>
<tr><td colspan=2 height=1 bgcolor=#dddddd></td></tr>
<? if ($is_guest) { ?>
<tr>
    <td class=write_head><img id='kcaptcha_image' border='0' width=120 height=60 onclick="imageClick();" style="cursor:pointer;" title="글자가 잘안보이는 경우 클릭하시면 새로운 글자가 나옵니다."></td>
    <td><input class='ed' type=input size=10 name=wr_key itemname="자동등록방지" required>&nbsp;&nbsp;왼쪽의 글자를 입력하세요.</td>
</tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>

</table>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" align="center" valign="top" style="padding-top:30px;">
        <input type=image id="btn_submit" src="<?=$board_skin_path?>/img/btn_write.gif" border=0 accesskey='s'>&nbsp;
        <a href="./board.php?bo_table=<?=$bo_table?>"><img id="btn_list" src="<?=$board_skin_path?>/img/btn_list.gif" border=0></a></td>
</tr>
</table>

</td></tr></table>
</form>

<script type="text/javascript"> var md5_norobot_key = ''; </script>
<script type="text/javascript" src="<?="$g4[path]/js/prototype.js"?>"></script>
<script type="text/javascript">
function imageClick() {
    var url = "<?=$g4[bbs_path]?>/kcaptcha_session.php";
    var para = "";
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            asynchronous: true,
            parameters: para,
            onComplete: imageClickResult
        });
}

function imageClickResult(req) {
    var result = req.responseText;
    var img = document.createElement("IMG");
    img.setAttribute("src", "<?=$g4[bbs_path]?>/kcaptcha_image.php?t=" + (new Date).getTime());
    document.getElementById('kcaptcha_image').src = img.getAttribute('src');

    md5_norobot_key = result;
}

<? if (!$is_member) { ?>Event.observe(window, "load", imageClick);<? } ?>

<?
// 관리자라면 분류 선택에 '공지' 옵션을 추가함
if ($is_admin)
{
    echo "
    if (typeof(document.fwrite.ca_name) != 'undefined')
    {
        document.fwrite.ca_name.options.length += 1;
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].value = '공지';
        document.fwrite.ca_name.options[document.fwrite.ca_name.options.length-1].text = '공지';
    }";
}
?>

with (document.fwrite)
{
    if (typeof(wr_name) != "undefined")
        wr_name.focus();
    else if (typeof(wr_subject) != "undefined")
        wr_subject.focus();
    else if (typeof(wr_content) != "undefined")
        wr_content.focus();

    if (typeof(ca_name) != "undefined")
        if (w.value == "u")
            ca_name.value = "<?=$write[ca_name]?>";
}

function html_auto_br(obj)
{
    if (obj.checked) {
        result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
        if (result)
            obj.value = "html2";
        else
            obj.value = "html1";
    }
    else
        obj.value = "";
}

function fwrite_submit(f)
{
    var s = "";
    if (s = word_filter_check(f.wr_subject.value)) {
        alert("제목에 금지단어('"+s+"')가 포함되어있습니다");
        return false;
    }

    if (s = word_filter_check(f.wr_content.value)) {
        alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
        return false;
    }

    if (document.getElementById('char_count')) {
        if (char_min > 0 || char_max > 0) {
            var cnt = parseInt(document.getElementById('char_count').innerHTML);
            if (char_min > 0 && char_min > cnt) {
                alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
                return false;
            }
            else if (char_max > 0 && char_max < cnt) {
                alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
                return false;
            }
        }
    }

    <?
    if ($is_dhtml_editor) echo cheditor3('wr_content');
    ?>

    if (document.getElementById('tx_wr_content')) {
        if (!ed_wr_content.outputBodyText()) {
            alert('내용을 입력하십시오.');
            ed_wr_content.returnFalse();
            return false;
        }
    }

    if (typeof(f.wr_key) != 'undefined') {
        if (hex_md5(f.wr_key.value) != md5_norobot_key) {
            alert('자동등록방지용 글자가 제대로 입력되지 않았습니다.');
            f.wr_key.select();
            f.wr_key.focus();
            return false;
        }
    }

    document.getElementById('btn_submit').disabled = true;
    document.getElementById('btn_list').disabled = true;

    <?
    if ($g4[https_url])
        echo "f.action = '$g4[https_url]/$g4[bbs]/write_update.php';";
    else
        echo "f.action = './write_update.php';";
    ?>
   
    return true;
}
</script>

<script language="JavaScript" src="<?="$g4[path]/js/board.js"?>"></script>
<script language="JavaScript"> window.onload=function() { drawFont(); } </script>
http://yili.cafe24.com/bbs/write.php?bo_table=tb32
write 소스를 적용했는데요.
글쓰기 버튼을 클릭하면 상태바에 자바스크립트 오류가 나면서 글이 넘어가지 않네요...ㅠㅠ
© SIRSOFT
현재 페이지 제일 처음으로