토픽 각 게시판별 에디터 설정하기(아이디어 차원)
페이지 정보
본문
그누보드 깃헙에 한번 신청해 봤습니다. https://github.com/gnuboard/gnuboard5/issues/55
아미나에서는 이 기능이 있는데, 새롭게 나온 나리야는 아무래도 테마식으로 가면서 가능하면 순정을 안 건드릴 것 같습니다.
필요하면 추가를 해서 사용해야 겠네요..
아미나에서 가져온것인데.. g5_board 끝에 as_editor와 as_mobile_editor 를 추가하고
adm/board_form.php에 아래와 같이 추가하고..
<th scope="row"><label for="bo_use_dhtml_editor">DHTML 에디터 사용</label></th>
<td>
<?php echo help('글작성시 내용을 DHTML 에디터 기능으로 사용할 것인지 설정합니다. 스킨에 따라 적용되지 않을 수 있습니다.') ?>
<input type="checkbox" name="bo_use_dhtml_editor" value="1" <?php echo $board['bo_use_dhtml_editor']?'checked':''; ?> id="bo_use_dhtml_editor">
사용
<select name="as_editor" id="as_editor">
<option value="">PC 기본 에디터</option>
<?php
$arr = get_skin_dir('', G5_EDITOR_PATH); // 읽어 오기
for ($i=0; $i<count($arr); $i++) {
echo "<option value=\"".$arr[$i]."\"".get_selected($board['as_editor'], $arr[$i]).">".$arr[$i]."</option>\n";
}
?>
</select>
<select name="as_mobile_editor" id="as_mobile_editor">
<option value="">모바일 사용안함</option>
<?php
for ($i=0; $i<count($arr); $i++) {
echo "<option value=\"".$arr[$i]."\"".get_selected($board['as_mobile_editor'], $arr[$i]).">".$arr[$i]."</option>\n";
}
?>
</select>
</td>
bbs/write.php 에서 editor를 바꿔치기 하네요.
// 에디터 별도설정
$apms_editor = $board['as_'.MOBILE_.'editor'];
$is_apms_editor = (G5_IS_MOBILE && !$apms_editor) ? false : true;
if($config['cf_editor'] && $apms_editor) {
$config['cf_editor'] = $apms_editor;
include_once(G5_EDITOR_PATH.'/'.$config['cf_editor'].'/editor.lib.php');
} else {
include_once(G5_EDITOR_LIB);
}
그렇다면 write.php에 있는 hook bbs_write를 이용해서 $config['cf_editor'] 를 바꿔치기해야 될 것 같습니다.
/bbs/write.php
run_event('bbs_write', $board, $wr_id, $w);
추천1 비추천0
댓글목록
무와보님의 댓글
무와보 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (175.♡.♡.20) 작성일
그누 코어에서 변경하기에 가장 좋은 방법은 후크를 이용하는 방법일 것 같네요.
그누의 특성상 업데이트의 유무에 따라 최소의 범위 내에서 스킨을 이용할 수 있게끔 적용시키는게 가장 큰 이슈 중의 하나인데 보안상의 문제가 아니라면 코어의 핵심 내용(변수,상수,한수,계산식 등)을 덜컥 변경하는 일이 거의 없기 때문에 HOOK 이용이 제일 좋을 것 같습니다.
물론 HOOK를 너무 많이 사용하면 워프처럼 속도저하가 오겠지만요..