그누보드5 get category option() 첫항목 기본선택

그누보드 get_category_option() 첫항목 기본선택
그누보드 분류 기본값 지정

1 원래 코드[ | ]

function get_category_option($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) continue;

        $str .= "<option value=\"$categories[$i]\"";
        if ($category == $ca_name) {
            $str .= ' selected="selected"';
        }
        $str .= ">$categories[$i]</option>\n";
    }

    return $str;
}

2 수정[ | ]

  • 분류 중 첫번째 것을 기본값으로(selected)
function get_category_option($bo_table='', $ca_name='')
{
	global $g5, $board, $is_admin;
	
	$categories = explode("|", $board['bo_category_list'].($is_admin?"|공지":"")); // 구분자가 , 로 되어 있음
	
	// 옵션 구성 ( option의 value, text 지정, selected 지정 )
	$options = array();
	$is_matched = false;
	for ($i=0; $i<count($categories); $i++) {
                $category = trim($categories[$i]);
                if (!$category) continue;

		$option = array();
		$option['value'] = $categories[$i];
		$option['text'] = $categories[$i];
		if ($category == $ca_name) {
			$is_matched = true;
			$option['selected'] = 'selected';
		}
		$options[] = $option;
	}
	if( !$is_matched && isset($options[0]) ) {
		$options[0]['selected'] = 'selected';
	}
	
	// 옵션 렌더링
	$str = '';
	foreach( $options as $option ) {
		$str .= '<option value="' . $option['value'] . '"';
		if( isset($option['selected']) )
			$str .= ' selected="selected"';
		$str .= '>' . $option['text'] . '</option>';
	}

	return $str;
}

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}