글작성시 분류 표시
본문
그누보드 글작성시 분류를 표시해줄때 1번째 분류는 제외하고 2번째 분류부터만 선택할수 있게 표시해주고 싶습니다, 가령 게시판관리자에서 분류를 사과 | 망고 | 참외 3개를 입력했을때 글쓰기 화면에서는 1번째인 사과는 안나오게하고 망고와 참외 중에서만 선택할수 있게 해주고 싶습니다
밑이 write.skin.php의 분류관련 코드 입니다, 2번째 분류부터만 불러와 표시해주게 하려면 어떻게 해야하나요?
<? if ($is_category) { ?>
<?
$bInfo=mysql_fetch_array(mysql_query("select gr_id from g4_board where bo_table='$_GET[bo_table]' limit 1"));
?>
<script>
function myCate(cate){
}
function subCate(depth, kwd)
{
var postData;
if(depth==8){
postData="depth=8&cate3=<?=$write[wr_5]?>&bo_table=<?=$bo_table?>&hcate="+kwd;
}
$.ajax({
url:"<?=$g4[path]?>/subCate.php", // 요청할 url
data:postData, // 전달할 데이터
type:"post", // 데이터를 전달할 방식
async:false, // 비동기 방식으로 할 것인가. true면 당연히 비동기, false면 동기
success:function(retData){ // 요청에 성공했을 때 실행 될 함수부분
if(retData && depth=='8'){
if(retData==0){
$("#cate9").html('');
$("#cate9").val('');
}else{
$("#cate9").html(retData);
}
}
}
});
}
$(window).load(function(){
var haha=$("#ca_name").val();
subCate(8, haha);
});
</script>
<style>
.cates {
float:left;
margin-left:10px;
}
</style>
<tr>
<td style='padding-left:20px; height:30px;'>· 구분</td>
<td><div class='cates' style='margin-left:0;'><select name=ca_name itemname="분류" id='ca_name' onchange="subCate(8, this.value);"><option value="">선택하세요</option><?=$category_option?></select></div><div id='cate9' class='cates' style='margin-left:0;display:none;'><select id='cate3s' name='wr_5' onchange='myCate(this.value)'><option value='0'>선택하세요</option></select></div></td></tr>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
<? } ?>
답변 1
해당 게시판 스킨의 write.skin.php 파일 상단에 수정된 get_category_option 함수를 새로 만들어 적용하는 것이 전체 게시판에 영향을 미치지 않는 바람직한 방법이 될 것 같습니다.
write.skin.php 파일 상단에 다음과 같은 소스를 추가해보세요.
<?php
if (!defined('_GNUBOARD_')) exit;
function get_category_option2($bo_table='', $ca_name='')
{
global $g5, $board, $is_admin;
$categories = explode("|", $board['bo_category_list'].($is_admin?"|공지":""));
$str = "";
for ($i=0; $i<count($categories); $i++) {
$category = trim($categories[$i]);
if (!$category || $i==0) continue; //원본함수에서 변경한 부분
$str .= "<option value=\"$categories[$i]\"";
if ($category == $ca_name) {
$str .= ' selected="selected"';
}
$str .= ">$categories[$i]</option>\n";
}
return $str;
}
if ($board['bo_use_category'])
$category_option = get_category_option2($bo_table, $ca_name);