테스트 사이트 - 개발 중인 베타 버전입니다

[G5.4] 쪽지 닉네임으로 사용하기

· 5년 전 · 5140 · 7

※  강좌 업데이트는 위 링크에서 이루어 지며, 본 강좌에 업데이트가 적용되지 않을수 있습니다.

※  오류가 발생할 경우 위 링크를 클릭해서 소스를 확인해주세요

 

쪽지를 아이디가 아닌 닉네임으로 사용하는 방법입니다.
그누보드 5.4 에서 테스트 하였으며, 하위 버전 확인은 안했으나, 문제 없으리라 생각됩니다.

1. bbs / ajax_member_chk_nick.php  파일 생성
<?php
include_once('./_common.php');

$search = trim(strip_tags($_GET['term']));
$sql = "select * from {$g5['member_table']} where mb_nick like '{$search}%';";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
    $return_arr[] = array("mb_id" => $row['mb_nick'], "label" => $row['mb_id']);
}
echo json_encode($return_arr);
?>


2. bbs / memo_form_update.php
쪽지 보내기할때 아이디가 아닌 닉네임을 검색해서 수신 대상을 확인합니다.

    $row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");

를 아래와 같이 변경

    //$row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_id = '{$recv_list[$i]}' ");
    $row = sql_fetch(" select mb_id, mb_nick, mb_open, mb_leave_date, mb_intercept_date from {$g5['member_table']} where mb_nick = '{$recv_list[$i]}' ");


3-1. skin / member / basic / memo_form.skin.php
페이지 상단에 mb_id 값을 mb_nick 으로 변경하기 위해 코드 추가

if ($me_recv_mb_id) {
    $sql_nick_check = " select * from {$g5['member_table']} where mb_id like '{$me_recv_mb_id}'";
    $row_nick_check = sql_fetch_array(sql_query($sql_nick_check));
    $me_recv_mb_id = $row_nick_check['mb_nick'];
}


3-2. skin / member / basic / memo_form.skin.php
닉네임 자동완성 기능을 구현하기 위해 페이지 하단 적당한 위치에 추가

<link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<script>
//회원아이디 자동완성
    $("#me_recv_mb_id").autocomplete({                    
        minLength: 1,
        maxHeight: 200,
        autoFocus:true,                    
        source: function(request, response) {
            $.ajax({
                url: "<?php echo G5_BBS_URL?>/ajax.member_chk_nick.php?term="+$("#me_recv_mb_id").val(),
                type: "GET",
                dataType: "json",
                success: function(data) {
                    response($.map(data, function(item) {
                        return {
                            label: item.mb_id + " [" + item.label+ "]",
                            mb_id: item.mb_id,
                            member_name : item.label
                        };
                    }));
                }
            });                        
        },
        select: function(event, ui) {                            
            $("#me_recv_mb_id").val(ui.item.mb_id);
            
            console.log("Member Id : " + ui.item.mb_id);
            console.log("Member Name : " + ui.item.member_name);
            
            return false;
        },
        open: function(event, ui) {
            $("#me_recv_mb_id").css("z-index", 1000);
        },
        focus: function (event, ui) {
           event.preventDefault(); // Prevent the default focus behavior.
        }
    });
</script>


4-1. mobile / skin / member / basic / memo_form.skin.php
위 3-1. 에 추가한 코드를 모바일에도 적용합니다.


4-2. mobile / skin / member / basic / memo_form.skin.php
위 3-2. 에 추가한 코드를 모바일에도 적용합니다.


참고자료
https://sir.kr/g5_tip/10126

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 7개

5년 전
늘 쓸모있는 팁 감사합니다~
좋은정보 감사합니다.
5년 전
좋은 정보 감사드립니다. 변경 후 쪽지 보내기는 잘되는데 글쓴이 사이드뷰에서는 닉이 아닌 id로 발송처리가 되는 까닭에 변경 후 id 발송은 되지가 않네요. 사이드뷰 관련해서도 id를 닉으로 수정해줘야 할 것 같은데 혹시 초보를 위해 상세히 알려주시면 안될까요^^
위의 팁을 적용하면 사이드메뉴에도 쪽지쓰기를 누르면 닉네임으로 표시됩니다.
5년 전
유용한 정보 감사합니다.
정보 감사합니다~^0^
5년 전
좋은팁 감사드립니다....근데 주소창에는 닉네임이 아니라 아이디가 나오는데 주소창에 닉네임으로 나오게 할수는 없나요?

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168