플러그인 mc 카테고리 문의 드립니다.

플러그인 mc 카테고리 문의 드립니다.

QA

플러그인 mc 카테고리 문의 드립니다.

본문

플러그인 mc 카테고리 문의 드립니다.

 

이온프리님 플러그인 계층형 카테고리를 사용중인데요

https://sir.kr/g5_plugin/2948?sfl=wr_subject%7C%7Cwr_content&stx=%EC%B9%B4%ED%85%8C%EA%B3%A0%EB%A6%AC

 

 

게시판 관리 메뉴에서 스킨을 선택하고, 일괄저장을 클릭하면

올바른 방법으로 이용해 주십시오. 멘트가 뜨고

확인을 클릭하면, 토큰정보가 올바르지 않습니다 라고 뜨는데 왜그럴까요 ?

 

2077522690_1537342719.7341.png

이 질문에 댓글 쓰기 :

답변 3

form에 token이 없어서 발생하는 문제로 보입니다

 

form에

 

<input type="hidden" name="token" value="">을 추가해주시고

 

ajax부분에서 var form = $(evt.target); 밑에

 

var token = get_ajax_token();

form.find("input[name=token]").val(token);

 

이렇게 한번 추가해보세요

 

form

 

<?php if (empty($board)):
    $s = 0;
    ?>
    <form class="mc-ajax-form" autocomplete="off" id="mc-board-list-f">
        <div class="tbl_head01 tbl_wrap">
            <input type="hidden" name="mode" value="board_config"/>
            <table border="1">
                <colgroup>
                    <col width="100"/>
                    <col width="150"/>
                    <col width="70"/>
                    <col width="70"/>
                    <col width="70"/>
                    <col/>
                    <col width="60"/>
                </colgroup>
                <thead>
                <tr>
                    <th>bo_table</th>
                    <th>게시판명</th>
                    <th>리스트<br/>카테고리스킨</th>
                    <th>글쓰기<br/>카테고리스킨</th>
                    <th>내용보기<br/>카테고리스킨</th>
                    <th>설정된컬럼</th>
                    <th>설정</th>
                </tr>
                </thead>
                <tbody>
                <?php foreach ($boards as $row): ?>
                    <tr>
                        <td>
                            <a href="config.php?bo_table=<?= $row['bo_table']; ?>"><?= $row['bo_table']; ?></a>
                        </td>
                        <td><?= $row['bo_subject']; ?></td>
                        <td>
                            <input type="hidden" name="data[<?= $row['bo_table']; ?>][bo_table]"
                                   value="<?= $row['bo_table']; ?>"/>
                            <?= mc_board($row['bo_table'])->getSelectbox('list', 'data[' . $row['bo_table'] . '][list_skin]', null, '<option value="">사용안함</option>'); ?>
                        </td>
                        <td><?= mc_board($row['bo_table'])->getSelectbox('write', 'data[' . $row['bo_table'] . '][write_skin]', null, '<option value="">사용안함</option>'); ?></td>
                        <td><?= mc_board($row['bo_table'])->getSelectbox('view', 'data[' . $row['bo_table'] . '][view_skin]', null, '<option value="">사용안함</option>'); ?></td>
                        <td>
                            <?php
                            if ($_mc = mc_board($row['bo_table'])) {
                                $_config = $_mc->getConfig();
                                echo join(', ', array_keys($_config['columns']));
                            } ?>
                        </td>
                        <td>
                            <button type="button" class="btn_frmline"
                                    onclick="location.href='config.php?bo_table=<?= $row['bo_table']; ?>'">설정
                            </button>
                            <?php $c = &mc_board($row['bo_table'])->getConfig();
                            if (empty($c['bo_table']) && $s === 0) {
                                echo '<script>$(function(){$("#mc-board-list-f").trigger("submit");});</script>';
                                $s = 1;
                            }
                            ?>
                        </td>
                    </tr>
                <?php endforeach; ?></tbody>
            </table>
        </div>
        <div class="btn_confirm01 btn_confirm">
            <input type="submit" value="일괄저장" class="btn_submit">
        </div>
    </form>
<?php else: ?>

 

비동기식 같아서 자바스크립트가 많은 거 같아요 ㅠㅠ 훔

mc.admin.js

 

(function ($, window) {
    var api = {};

    var parser = function (data) {
        if (data) {
            if (data.alert) {
                alert(data.alert);
            }
            if (data.reload) {
                location.reload();
            }
        }
    };

    var exec = function (mode, data) {
        data.mode = mode;
        $.ajax({
            url: 'ajax.php',
            type: 'post',
            data: data,
            dataType: 'json',
            success: function (data) {
                parser(data);
            }
        })
    };

    api.remove = function (mc) {
        if (confirm("삭제하시겠습니까?")) exec('remove', {mc: mc});
    };
    api.moveUp = function (mc) {
        if (mc > 1) exec('moveUp', {mc: mc});
    };
    api.moveDown = function (mc) {
        if (mc > 1) exec('moveDown', {mc: mc});
    };
    api.removeConfigColumn = function (bo_table, column) {
        if (confirm("삭제하시겠습니까?")) {
            exec('removeConfigColumn', {bo_table: bo_table, column: column});
        }
    }

    api.handleSubmit = function (evt) {
        evt.preventDefault();
        if (evt.target.tagName !== 'FORM') {
            alert('올바른 요청이 아닙니다.');
            return;
        }
        var form = $(evt.target);
        form.find("button[type=submit]").prop('disabled', true);
        var data = form.serialize();
        console.log(data);
        $.ajax({
            url: 'ajax.php',
            type: 'post',
            data: data,
            dataType: 'json',
            success: function (data) {
                parser(data);
                if (data) {
                    if (!data.reload) {
                        form.find("button[type=submit]").prop('disabled', false);
                    }
                }
            }
        });
    };
    $(function () {
        $("form.mc-ajax-form").on("submit", api.handleSubmit);
    });
    if (window.mcApi) {
        $.extend(window.mcApi, api);
    } else {
        window.mcApi = api;
    }
})(jQuery, window);

 

맞는지 모르겠네요 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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