원하는 형태는 위와 같이 스마트에디터를 하나의 게시물에 2개 출력하는 방법입니다.
1. 디비에 컬럼 추가하기
2. 스킨에 에디터 추가하기
경로 : /www/theme/sample04/skin/board/tl_product_list_o/write.skin.php
(스킨에 따라 중간 경로는 다를 수 있습니다.)
2-1)
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($w == 'u') {
$wr_10 = get_text(html_purifier($write['wr_10']), 0);
$wr_11 = get_text(html_purifier($write['wr_11']), 0);
}
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="' . $board_skin_url . '/style.css">', 0);
$bo_fieldm = array();
if ($board['bo_fieldm'] != '') {
$bo_fieldm = json_decode($board['bo_fieldm'], true);
}
//print_r2($bo_fieldm);
?>
2-2) 게시판 본문 글 하단에 추가 여분필드를 활용해서 스마트에디터 추가하기
<div class="write_div">
<div class="label">
타입F 제원/재질
<span class="desc">(필수입력. 해당하는 내용이 없을 경우 '내용없음'이라고 적어주세요. 단, 이 때에는 옵션값 '모델명 타입F'의 값을 꼭 지워주세요.)</span>
</div>
<label for="wr_content" class="sound_only">타입F 제원/재질<strong>*</strong></label>
<div class="wr_content <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>">
<?php if ($write_min || $write_max) { ?>
<!-- 최소/최대 글자 수 사용 시 -->
<p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p>
<?php } ?>
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출
?>
<?php if ($write_min || $write_max) { ?>
<!-- 최소/최대 글자 수 사용 시 -->
<div id="char_count_wrap"><span id="char_count"></span>글자</div>
<?php } ?>
</div>
</div>
<div class="write_div">
<div class="label">
타입S 제원/재질
<span class="desc">('모델명 타입S'의 값이 없으면 표시되지 않습니다.)</span>
</div>
<?php
echo editor_html('wr_11', $write['wr_11'], $is_dhtml_editor);
?>
</div>
2-3) 스크립트 추가하기
function fwrite_submit(f) {
<?php
// echo get_editor_js("wr_10");
echo get_editor_js("wr_11");
?>
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함
?>
글 등록시 여분 필드의 값도 같이 등록해주기
3. 그누보드 코어 게시판 업데이트하기
1) bbs/write_update.php
1-1)
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_seo_title = '$wr_seo_title',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10',
wr_11 = '$wr_11'
";
sql_query($sql);
1-2)
$sql = " update {$write_table}
set ca_name = '{$ca_name}',
wr_option = '{$html},{$secret},{$mail}',
wr_subject = '{$wr_subject}',
wr_content = '{$wr_content}',
wr_seo_title = '$wr_seo_title',
wr_link1 = '{$wr_link1}',
wr_link2 = '{$wr_link2}',
mb_id = '{$mb_id}',
wr_name = '{$wr_name}',
wr_email = '{$wr_email}',
wr_homepage = '{$wr_homepage}',
wr_1 = '{$wr_1}',
wr_2 = '{$wr_2}',
wr_3 = '{$wr_3}',
wr_4 = '{$wr_4}',
wr_5 = '{$wr_5}',
wr_6 = '{$wr_6}',
wr_7 = '{$wr_7}',
wr_8 = '{$wr_8}',
wr_9 = '{$wr_9}',
wr_10= '{$wr_10}',
wr_11= '{$wr_11}'
{$sql_ip}
{$sql_password}
where wr_id = '{$wr['wr_id']}' ";
sql_query($sql);
2) \theme\sample04\skin\board\tl_product_list_o\field_update_x.php
if(trim($wr_1_name) != '') $cfg['wr_1']['name'] = stripslashes(trim($wr_1_name));
if(trim($wr_2_name) != '') $cfg['wr_2']['name'] = stripslashes(trim($wr_2_name));
if(trim($wr_3_name) != '') $cfg['wr_3']['name'] = stripslashes(trim($wr_3_name));
if(trim($wr_4_name) != '') $cfg['wr_4']['name'] = stripslashes(trim($wr_4_name));
if(trim($wr_5_name) != '') $cfg['wr_5']['name'] = stripslashes(trim($wr_5_name));
if(trim($wr_6_name) != '') $cfg['wr_6']['name'] = stripslashes(trim($wr_6_name));
if(trim($wr_7_name) != '') $cfg['wr_7']['name'] = stripslashes(trim($wr_7_name));
if(trim($wr_8_name) != '') $cfg['wr_8']['name'] = stripslashes(trim($wr_8_name));
if(trim($wr_9_name) != '') $cfg['wr_9']['name'] = stripslashes(trim($wr_9_name));
if(trim($wr_10_name) != '') $cfg['wr_10']['name'] = stripslashes(trim($wr_10_name));
if(trim($wr_11_name) != '') $cfg['wr_11']['name'] = stripslashes(trim($wr_11_name));
if(trim($wr_1_name) != '' && trim($wr_1_lv) == '1') $cfg['wr_1']['lv'] = 1;
if(trim($wr_2_name) != '' && trim($wr_2_lv) == '1') $cfg['wr_2']['lv'] = 1;
if(trim($wr_3_name) != '' && trim($wr_3_lv) == '1') $cfg['wr_3']['lv'] = 1;
if(trim($wr_4_name) != '' && trim($wr_4_lv) == '1') $cfg['wr_4']['lv'] = 1;
if(trim($wr_5_name) != '' && trim($wr_5_lv) == '1') $cfg['wr_5']['lv'] = 1;
if(trim($wr_6_name) != '' && trim($wr_6_lv) == '1') $cfg['wr_6']['lv'] = 1;
if(trim($wr_7_name) != '' && trim($wr_7_lv) == '1') $cfg['wr_7']['lv'] = 1;
if(trim($wr_8_name) != '' && trim($wr_8_lv) == '1') $cfg['wr_8']['lv'] = 1;
if(trim($wr_9_name) != '' && trim($wr_9_lv) == '1') $cfg['wr_9']['lv'] = 1;
if(trim($wr_10_name) != '' && trim($wr_10_lv) == '1') $cfg['wr_10']['lv'] = 1;
if(trim($wr_11_name) != '' && trim($wr_11_lv) == '1') $cfg['wr_11']['lv'] = 1;
$bo_fieldm = json_encode($cfg, JSON_UNESCAPED_UNICODE);
3) \bbs\register_form.php
$member['mb_email'] = get_text($member['mb_email']);
$member['mb_homepage'] = get_text($member['mb_homepage']);
$member['mb_birth'] = get_text($member['mb_birth']);
$member['mb_tel'] = get_text($member['mb_tel']);
$member['mb_hp'] = get_text($member['mb_hp']);
$member['mb_addr1'] = get_text($member['mb_addr1']);
$member['mb_addr2'] = get_text($member['mb_addr2']);
$member['mb_signature'] = get_text($member['mb_signature']);
$member['mb_recommend'] = get_text($member['mb_recommend']);
$member['mb_profile'] = get_text($member['mb_profile']);
$member['mb_1'] = get_text($member['mb_1']);
$member['mb_2'] = get_text($member['mb_2']);
$member['mb_3'] = get_text($member['mb_3']);
$member['mb_4'] = get_text($member['mb_4']);
$member['mb_5'] = get_text($member['mb_5']);
$member['mb_6'] = get_text($member['mb_6']);
$member['mb_7'] = get_text($member['mb_7']);
$member['mb_8'] = get_text($member['mb_8']);
$member['mb_9'] = get_text($member['mb_9']);
$member['mb_10'] = get_text($member['mb_10']);
$member['mb_11'] = get_text($member['mb_11']);
4) /www/bbs/register_form_update.php
4-1)
$mb_password = isset($_POST['mb_password']) ? trim($_POST['mb_password']) : '';
$mb_password_re = isset($_POST['mb_password_re']) ? trim($_POST['mb_password_re']) : '';
$mb_name = isset($_POST['mb_name']) ? trim($_POST['mb_name']) : '';
$mb_nick = isset($_POST['mb_nick']) ? trim($_POST['mb_nick']) : '';
$mb_email = isset($_POST['mb_email']) ? trim($_POST['mb_email']) : '';
$mb_sex = isset($_POST['mb_sex']) ? trim($_POST['mb_sex']) : "";
$mb_birth = isset($_POST['mb_birth']) ? trim($_POST['mb_birth']) : "";
$mb_homepage = isset($_POST['mb_homepage']) ? trim($_POST['mb_homepage']) : "";
$mb_tel = isset($_POST['mb_tel']) ? trim($_POST['mb_tel']) : "";
$mb_hp = isset($_POST['mb_hp']) ? trim($_POST['mb_hp']) : "";
$mb_zip1 = isset($_POST['mb_zip']) ? substr(trim($_POST['mb_zip']), 0, 3) : "";
$mb_zip2 = isset($_POST['mb_zip']) ? substr(trim($_POST['mb_zip']), 3) : "";
$mb_addr1 = isset($_POST['mb_addr1']) ? trim($_POST['mb_addr1']) : "";
$mb_addr2 = isset($_POST['mb_addr2']) ? trim($_POST['mb_addr2']) : "";
$mb_addr3 = isset($_POST['mb_addr3']) ? trim($_POST['mb_addr3']) : "";
$mb_addr_jibeon = isset($_POST['mb_addr_jibeon']) ? trim($_POST['mb_addr_jibeon']) : "";
$mb_signature = isset($_POST['mb_signature']) ? trim($_POST['mb_signature']) : "";
$mb_profile = isset($_POST['mb_profile']) ? trim($_POST['mb_profile']) : "";
$mb_recommend = isset($_POST['mb_recommend']) ? trim($_POST['mb_recommend']) : "";
$mb_mailling = isset($_POST['mb_mailling']) ? trim($_POST['mb_mailling']) : "";
$mb_sms = isset($_POST['mb_sms']) ? trim($_POST['mb_sms']) : "";
$mb_1 = isset($_POST['mb_1']) ? trim($_POST['mb_1']) : "";
$mb_2 = isset($_POST['mb_2']) ? trim($_POST['mb_2']) : "";
$mb_3 = isset($_POST['mb_3']) ? trim($_POST['mb_3']) : "";
$mb_4 = isset($_POST['mb_4']) ? trim($_POST['mb_4']) : "";
$mb_5 = isset($_POST['mb_5']) ? trim($_POST['mb_5']) : "";
$mb_6 = isset($_POST['mb_6']) ? trim($_POST['mb_6']) : "";
$mb_7 = isset($_POST['mb_7']) ? trim($_POST['mb_7']) : "";
$mb_8 = isset($_POST['mb_8']) ? trim($_POST['mb_8']) : "";
$mb_9 = isset($_POST['mb_9']) ? trim($_POST['mb_9']) : "";
$mb_10 = isset($_POST['mb_10']) ? trim($_POST['mb_10']) : "";
$mb_11 = isset($_POST['mb_11']) ? trim($_POST['mb_11']) : "";
4-2)
if ($w == '') {
$sql = " insert into {$g5['member_table']}
set mb_id = '{$mb_id}',
mb_password = '".get_encrypt_string($mb_password)."',
mb_name = '{$mb_name}',
mb_nick = '{$mb_nick}',
mb_nick_date = '".G5_TIME_YMD."',
mb_email = '{$mb_email}',
mb_homepage = '{$mb_homepage}',
mb_tel = '{$mb_tel}',
mb_zip1 = '{$mb_zip1}',
mb_zip2 = '{$mb_zip2}',
mb_addr1 = '{$mb_addr1}',
mb_addr2 = '{$mb_addr2}',
mb_addr3 = '{$mb_addr3}',
mb_addr_jibeon = '{$mb_addr_jibeon}',
mb_signature = '{$mb_signature}',
mb_profile = '{$mb_profile}',
mb_today_login = '".G5_TIME_YMDHIS."',
mb_datetime = '".G5_TIME_YMDHIS."',
mb_ip = '{$_SERVER['REMOTE_ADDR']}',
mb_level = '{$config['cf_register_level']}',
mb_recommend = '{$mb_recommend}',
mb_login_ip = '{$_SERVER['REMOTE_ADDR']}',
mb_mailling = '{$mb_mailling}',
mb_sms = '{$mb_sms}',
mb_open = '{$mb_open}',
mb_open_date = '".G5_TIME_YMD."',
mb_1 = '{$mb_1}',
mb_2 = '{$mb_2}',
mb_3 = '{$mb_3}',
mb_4 = '{$mb_4}',
mb_5 = '{$mb_5}',
mb_6 = '{$mb_6}',
mb_7 = '{$mb_7}',
mb_8 = '{$mb_8}',
mb_9 = '{$mb_9}',
mb_10 = '{$mb_10}',
mb_11 = '{$mb_11}'
{$sql_certify} ";
5. 뷰페이지에 해당 변수값 출력하기
<?=$view[wr_11]?>
<?php echo get_view_thumbnail($view['wr_11']); ?>
원하는 곳에 설정한 여분필드 번호를 추가해서 출력해주시면 끝입니다.
참조
잘 이해가 되지 않으시는 분들은 아래 글도 같이 참조해서 읽어주세요.
https://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=25
http://www.gnuwiz.com/bbs/board.php?bo_table=board_tip&wr_id=28
https://ysb334kr.tistory.com/59
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=31
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=14