선택옵션 라디오 버튼으로 변경할수 있도록 도와주세요.
선택옵션 라디오 버튼으로 변경할수 있도록 도와주세요.
lib/ship.lib.php 에서
915줄 부터
// 상품 선택옵션
function get_item_options($it_id, $subject)
{
global $g5;
if(!$it_id || !$subject)
return '';
$sql = " select * from {$g5['g5_shop_item_option_table']} where io_type = '0' and it_id = '$it_id' and io_use = '1' order by io_no asc ";
$result = sql_query($sql);
if(!mysql_num_rows($result))
return '';
$str = '';
$subj = explode(',', $subject);
$subj_count = count($subj);
if($subj_count > 1) {
$options = array();
// 옵션항목 배열에 저장
for($i=0; $row=sql_fetch_array($result); $i++) {
$opt_id = explode(chr(30), $row['io_id']);
for($k=0; $k<$subj_count; $k++) {
if(!is_array($options[$k]))
$options[$k] = array();
if($opt_id[$k] && !in_array($opt_id[$k], $options[$k]))
$options[$k][] = $opt_id[$k];
}
}
// 옵션선택목록 만들기
for($i=0; $i<$subj_count; $i++) {
$opt = $options[$i];
$opt_count = count($opt);
$disabled = '';
if($opt_count) {
$seq = $i + 1;
if($i > 0)
$disabled = ' disabled="disabled"';
$str .= ' $str .= ' $select = ''.$disabled.'>'.PHP_EOL; $select .= ''.PHP_EOL; for($k=0; $k<$opt_count; $k++) { $opt_val = $opt[$k]; if(strlen($opt_val)) { $select .= ''.$opt_val.''.PHP_EOL; } } $select .= ''.PHP_EOL; $str .= ' $str .= ''.PHP_EOL; '.PHP_EOL;'.PHP_EOL; '.$select.' '.PHP_EOL;
}
}
} else {
$str .= ' $str .= ' $select = ' $select .= ''.PHP_EOL; for($i=0; $row=sql_fetch_array($result); $i++) { if($row['io_price'] >= 0) $price = ' + '.number_format($row['io_price']).'원'; else $price = ' '.number_format($row['io_price']).'원'; if($row['io_stock_qty'] < 1) $soldout = ' [품절]'; else $soldout = ''; $select .= ''io_id'].','.$row['io_price'].','.$row['io_stock_qty'].'">'.$row['io_id'].$price.$soldout.''.PHP_EOL; } $select .= ''.PHP_EOL; $str .= ' $str .= ''.PHP_EOL; '.PHP_EOL;'.PHP_EOL; '.$select.' '.PHP_EOL;
}
return $str;
}
답변 2개
</p><p> </p><p>// 상품 추가옵션</p><p>function c_get_item_supply($it_id, $subject)</p><p>{</p><p> global $g5;</p><p> </p><p> if(!$it_id || !$subject)</p><p> return '';</p><p> </p><p> $sql = " select * from {$g5['g5_shop_item_option_table']} where io_type = '1' and it_id = '$it_id' and io_use = '1' order by io_no asc ";</p><p> $result = sql_query($sql);</p><p> if(!sql_num_rows($result))</p><p> return '';</p><p> </p><p> $str = '';</p><p> </p><p> $subj = explode(',', $subject);</p><p> $subj_count = count($subj);</p><p> $options = array();</p><p> </p><p> // 옵션항목 배열에 저장</p><p> for($i=0; $row=sql_fetch_array($result); $i++) {</p><p> $opt_id = explode(chr(30), $row['io_id']);</p><p> </p><p> if($opt_id[0] && !array_key_exists($opt_id[0], $options))</p><p> $options[$opt_id[0]] = array();</p><p> </p><p> if(strlen($opt_id[1])) {</p><p> if($row['io_price'] >= 0)</p><p> $price = ' + '.number_format($row['io_price']).'원';</p><p> else</p><p> $price = ' '.number_format($row['io_price']).'원';</p><p> $io_stock_qty = get_option_stock_qty($it_id, $row['io_id'], $row['io_type']);</p><p> </p><p> if($io_stock_qty < 1)</p><p> $soldout = ' [품절]';</p><p> else</p><p> $soldout = '';</p><p> </p><p> $options[$opt_id[0]][] = '<label><input type="radio" name="it_supply" id="it_supply" value="'.$opt_id[1].','.$row['io_price'].','.$io_stock_qty.'">'.$opt_id[1].$price.$soldout.'</label>
';</p><p> }</p><p> }</p><p> </p><p> // 옵션항목 만들기</p><p> for($i=0; $i<$subj_count; $i++) {</p><p> $opt = $options[$subj[$i]];</p><p> $opt_count = count($opt);</p><p> if($opt_count) {</p><p> $seq = $i + 1;</p><p> $str .= '<tr>'.PHP_EOL;</p><p> $str .= '<th style="display: none"><label for="it_supply_'.$seq.'">'.$subj[$i].'</label></th>'.PHP_EOL;</p><p> </p><p> for($k=0; $k<$opt_count; $k++) {</p><p> $opt_val = $opt[$k];</p><p> if($opt_val) {</p><p> $select = $opt_val.PHP_EOL;</p><p> }</p><p> }</p><p> </p><p> $str .= '<td class="td_sit_sel">'.$select.'</td>'.PHP_EOL;</p><p> $str .= '</tr>'.PHP_EOL;</p><p> }</p><p> }</p><p> </p><p> return $str;</p><p>}</p><p>
이런식으로 함수를 하나더 만들어서 했더니 잘적용은 되네요
댓글을 작성하려면 로그인이 필요합니다.
} else {
$str .= ' $str .= ' for($i=0; $row=sql_fetch_array($result); $i++) { if($row['io_price'] >= 0) $price = ' + '.number_format($row['io_price']).'원'; else $price = ' '.number_format($row['io_price']).'원'; if($row['io_stock_qty'] < 1) $soldout = ' [품절]'; else $soldout = ''; $select .= ''.$row['io_id'].','.$row['io_price'].','.$row['io_stock_qty'].'">'.$row['io_id'].$price.$soldout.'
'.PHP_EOL; } $select .= ''.PHP_EOL; $str .= ' $str .= ''.PHP_EOL; '.PHP_EOL;'.PHP_EOL; '.$select.' '.PHP_EOL;
}
이렇게 바꾸니까 라디오 버튼 정상적으로 생성되었는데, 제품 합계 합산이 안되네요.. 휴~
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인