다이얼로그 창 > 그누4 플러그인

그누4 플러그인

그누보드에는 여러가지 기능 추가가 쉽도록 제작 되었습니다.
플러그인의 저작권은 해당 플러그인 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다.
플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

다이얼로그 창 정보

다이얼로그 창

첨부파일

adm_dialog.zip (5.1K) 366회 다운로드 2011-04-14 13:30:50

본문

http://jqueryui.com/demos/dialog/ 를 그누보드에 맞게 만들었습니다.

사용방법 : 다이얼로그 창을 넣고 싶은 페이지에 아래 코드를 넣으시면 됩니다.

echo g4_dialog(번호);


adm_dialog.zip 을 adm 디렉토리에 압축해제해 넣으시기 바랍니다.


추가된 코드

----------------------------------------
adm/admin.menu300.php 에 추가합니다.
----------------------------------------


    array("300200", "게시판그룹관리", "$g4[admin_path]/boardgroup_list.php"),
    array("-"),
    array("300300", "다이얼로그관리", "$g4[admin_path]/dialog_list.php"),



----------------------------------------
lib/common.lib.php 에 추가합니다.
----------------------------------------

function g4_dialog($di_id="")
{
    global $g4;
    static $first = true;

    // 출력할 아이디가 없다면 가장 최근의 정보를 가져옴
    if (!$di_id) {
        $row = sql_fetch(" select max(di_id) as max_di_id from $g4[dialog_table] ");
        $di_id = $row[max_di_id];
    }

    $sql = " select * from $g4[dialog_table] where di_id = '$di_id' and '$g4[time_ymdhis]' between di_begin_time and di_end_time  ";
    $row = sql_fetch($sql);
    if (!$row) return "";

    $dialog_id = "dialog_".$di_id;

    $s = "";
    if (!$_COOKIE[$dialog_id]) {
        $s .=  "\n";
        if ($first) {
            $s .= "<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js'></script>\n";
            $first = false;
        }
        $s .= "<link type='text/css' href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/$row[di_ui_theme]/jquery-ui.css' rel='stylesheet' />\n";
        $s .= "<script type='text/javascript'>\n";
        $s .= "$.fx.speeds._default = {$row[di_speeds]};\n";
        $s .= "$(function() {\n";
        $s .= "$('#{$dialog_id}').dialog({\n";
        $s .= "autoOpen: true,\n";
        $s .= "disabled: true,\n";
        $s .= "resizable: ".($row[di_resizable]?"true":"false").",\n";
        $s .= "closeOnEscape: ".($row[di_escape]?"true":"false").",\n";
        $s .= "modal: ".($row[di_modal]?"true":"false").",\n";
        $s .= "draggable: ".($row[di_draggable]?"true":"false").",\n";
        if ($row[di_show])      $s .= "show: '$row[di_show]',\n";
        if ($row[di_hide])      $s .= "hide: '$row[di_hide]',\n";
        if ($row[di_position])  $s .= "position: $row[di_position],\n";
        if ($row[di_width])    $s .= "width: '$row[di_width]',\n";
        if ($row[di_height])    $s .= "height: '$row[di_height]',\n";
        if ($row[di_zindex])    $s .= "zindex: $row[di_zindex],\n";
        $btnclose = "'닫기' : function() { $(this).dialog('close'); }";
        if ($row[di_disable_hours]) {
            $expires = $g4[server_time] + 3600 * $row[di_disable_hours];
            $s .= "buttons: { '$row[di_disable_hours] 시간 동안 다시 창을 띄우지 않습니다.' : function() { set_cookie('{$dialog_id}', 1, $expires, '$g4[cookie_domain]'); $(this).dialog('close'); }, $btnclose }\n";
        } else {
            $s .= "buttons: { $btnclose }\n";
        }
        $s .= "});\n";
        $s .= "});\n";
        $s .= "</script>\n";

        $s .= "<div id='{$dialog_id}' title='".stripslashes($row[di_subject])."' style='display:none;'>\n";
        $s .= stripslashes($row[di_content]);
        $s .= "</div>\n";
    }

    return $s;
}


--------------------------------
config.php 에 추가합니다.
--------------------------------


$g4['dialog_table']        = $g4['table_prefix'] . "dialog";        // 다이얼로그 테이블
추천
17

댓글 전체

Parse error: syntax error, unexpected T_STRING in /home/naraweb/lib/common.lib.php on line 31

에러발생 .. 해당 라인 내용은

            $s .= "<script type='text/javascript' src='<A href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js'" target=_blank>http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js'</A>></script>\n";

입니다. 무엇이 문제일까요?
고쳐주신 대로 하니 에러 안 뜨네요.
그런데 메인페이지 php 에 <? echo g4_dialog(1); ?> 이렇게 넣었더니
하단 페이지 오류가 뜨고 안되네요.
개체가 이속성 또는 매서드를 지원하지 않습니다 라고 나오네요.
위처럼 적용하는게 아닌가요?

에러가 난 부분의 소스를 보니,
$('#dialog_1').dialog({
이 부분을 가리키네요.

관리자 다이얼로그관리에서 '보기' 로 하면 잘 출력 됩니다.
그런데 배추빌더로 만든 홈에 적용시
다이얼로그 설치후 설정창에서 테마 창제목  등 설정 옵션은 나오는데..
내용 쓰기 란(에디터) 자체가 나타나지 않고있어요..
왜그런가요?



-------------------------------------------------------
동일한 계정에 다른 빌더(그누보드)에선 잘되고 있어요..
정말 멋지네요.
배추빌더에서만 안되네요...ㅠㅠ
---------------------------------------------------------
위에 답글로 달았는데 못 보실거 같아서 다시 댓글로 남깁니다.

그런데 메인페이지 php 에 <? echo g4_dialog(1); ?> 이렇게 넣었더니
하단 페이지 오류가 뜨고 안되네요.
개체가 이속성 또는 매서드를 지원하지 않습니다 라고 나오네요.
위처럼 적용하는게 아닌가요?

에러가 난 부분의 소스를 보니,
$('#dialog_1').dialog({
이 부분을 가리키네요.

관리자 다이얼로그관리에서 '보기' 로 하면 잘 출력 됩니다.
index.php 안에 echo g4_dialog(1); 넣고 잘 사용하는데요.
내용에 그림 넣고(800*1200), 사용하다가, 다른 부분(창위치,제목 등등)을 수정하고 확인 누르면,
그림 경로가
처음이 "\" 이면 수정후에는 엑박이 뜨네요. "\""\\\""\\\""\"
그래서 다른 부분을 수정하려면, 그림을 다시 넣고 있습니다.
한 번 수정할 때마다, \경로가 늘어나네요.
배추빌더 안되는 이유 알았습니다.
정상적인지는 몰라도 아무튼 에러없이 보이는게 주 목적인만큼 ㅋㅋ

index.php파일 상단에 다음과 같이 추가 합니다.

nclude_once("$g4[path]/head.sub.php");
이것만 추가하면 되네요
그리고 원하는곳에 <? echo g4_dialog(1); ?> 를 추가하심 됩니다.

그런데 여기서 하나 문제가 발생하네요

파업창은 항상 한개만 존재해야 하나요?
두개 새개 넣으려면 어떻게 해야 하나요?
<? echo g4_dialog(1); ?> 이렇게 하닌깐
다이얼로그 입력 두개를 한 가운데 하나는 이전건 시간이 종료되었고 두번째는 시간이 남아 있는데 표시가 되지 않습니다.
시간이 지나면 그 다음꺼라도 표기가 되려면 어떻게하나요?
다 잘 되는데 게시판 관리메뉴에 '게시판 관리', '게시판 그룹관리'가 없어지고 '다이얼로그관리'만 뜨네요ㅜㅠ
뭐가 잘못 된건지...
-----------adm/adm.menu300.php----------
<?
$menu["menu300"] = array (
    array("300000", "게시판관리", ""),
    array("300100", "게시판관리", "$g4[admin_path]/board_list.php"),
    array("300200", "게시판그룹관리", "$g4[admin_path]/boardgroup_list.php")     
);
?>

<?
$menu["menu300"] = array (
array("300200", "게시판그룹관리", "$g4[admin_path]/boardgroup_list.php"), 
array("-"), 
array("300300", "다이얼로그관리", "$g4[admin_path]/dialog_list.php"),
);
?>
<?
$menu["menu300"] = array (
    array("300000", "게시판관리", ""),
    array("300100", "게시판관리", "$g4[admin_path]/board_list.php"),
    array("300200", "게시판그룹관리", "$g4[admin_path]/boardgroup_list.php"),
    array("-"),
    array("300300", "다이얼로그관리", "$g4[admin_path]/dialog_list.php"),
);
?>
전체 3,524 |RSS
그누4 플러그인 내용 검색

회원로그인

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