플러그인 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" rel="nofollow noreferrer noopener" target="_blank">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
게시판 관리 메뉴에서 스킨을 선택하고, 일괄저장을 클릭하면
올바른 방법으로 이용해 주십시오. 멘트가 뜨고
확인을 클릭하면, 토큰정보가 올바르지 않습니다 라고 뜨는데 왜그럴까요 ?

답변 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);
이렇게 한번 추가해보세요
답변에 대한 댓글 7개
data.token = get_ajax_token(); 추가해보세요
ㅠㅠ 휴
ㅠㅠ 여력이 안되서 혼자서 만들고 있는데 ㅠㅠ 넉넉하지가 못하네요 ㅠㅠ
아니면 다른이유라던가 .. 훔
카톡 malza 입니다. 연락 안 주셔도 돼요 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
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);
맞는지 모르겠네요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인