#179 에 따른 상품요약정보 상품등록폼에 통합

This commit is contained in:
chicpro
2013-05-15 13:37:55 +09:00
parent 7ac8856147
commit 6bb536dc38
7 changed files with 121 additions and 212 deletions

View File

@ -20,11 +20,19 @@ if(intval(preg_replace("/[^0-9]/", "", $row['Type'])) != 20) {
sql_query(" ALTER TABLE `{$g4['shop_wish_table']}` MODIFY COLUMN it_id VARCHAR(20) NOT NULL DEFAULT '' ", false);
}
// 상품요약정보 필드추가
$sql = " select it_info_gubun from {$g4['shop_item_table']} limit 1 ";
$result = sql_query($sql, false);
if(!$result) {
sql_query(" ALTER TABLE `{$g4['shop_item_table']}` ADD `it_info_gubun` VARCHAR(50) NOT NULL DEFAULT '' AFTER `it_tel_inq` ", false);
sql_query(" ALTER TABLE `{$g4['shop_item_table']}` ADD `it_info_value` TEXT NOT NULL AFTER `it_info_gubun` ", false);
}
// 상품이미지 필드추가
$sql = " select it_img1 from {$g4['shop_item_table']} limit 1 ";
$result = sql_query($sql, false);
if(!$result) {
sql_query(" ALTER TABLE `{$g4['shop_item_table']}` ADD `it_img1` VARCHAR(255) NOT NULL DEFAULT '' AFTER `it_tel_inq` ", false);
sql_query(" ALTER TABLE `{$g4['shop_item_table']}` ADD `it_img1` VARCHAR(255) NOT NULL DEFAULT '' AFTER `it_info_value` ", false);
sql_query(" ALTER TABLE `{$g4['shop_item_table']}` ADD `it_img2` VARCHAR(255) NOT NULL DEFAULT '' AFTER `it_img1` ", false);
sql_query(" ALTER TABLE `{$g4['shop_item_table']}` ADD `it_img3` VARCHAR(255) NOT NULL DEFAULT '' AFTER `it_img2` ", false);
sql_query(" ALTER TABLE `{$g4['shop_item_table']}` ADD `it_img4` VARCHAR(255) NOT NULL DEFAULT '' AFTER `it_img3` ", false);
@ -152,6 +160,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++)
$pg_anchor ='<ul class="anchor">
<li><a href="#anc_sitfrm_cate">상품분류</a></li>
<li><a href="#anc_sitfrm_ini">기본정보</a></li>
<li><a href="#anc_sitfrm_compact">요약정보</a></li>
<li><a href="#anc_sitfrm_cost">가격 및 재고</a></li>
<li><a href="#anc_sitfrm_img">상품이미지</a></li>
<li><a href="#anc_sitfrm_relation">관련상품</a></li>
@ -344,27 +353,6 @@ $pg_anchor ='<ul class="anchor">
<input type="text" name="it_basic" value="<?php echo get_text($it['it_basic']); ?>" id="it_basic" class="frm_input" size="90">
</td>
</tr>
<?php if ($it['it_id']) { ?>
<?php
$sql = " select distinct ii_gubun from {$g4['shop_item_info_table']} where it_id = '$it_id' group by ii_gubun ";
$ii = sql_fetch($sql, false);
if ($ii) {
$item_info_gubun = item_info_gubun($ii['ii_gubun']);
$item_info_gubun .= $item_info_gubun ? " 등록됨" : "";
} else {
// 상품상세정보 테이블이 없다고 가정하여 생성
create_table_item_info();
}
?>
<tr>
<th scope="row">요약상품정보</th>
<td>
<?php echo help("<strong>전자상거래 등에서의 상품 등의 정보제공에 관한 고시</strong>에 따라 총 35개 상품군에 대해 상품 특성 등을 양식에 따라 입력할 수 있습니다."); ?>
<button type="button" class="btn_frmline" onclick="window.open('./iteminfo.php?it_id=<?php echo $it['it_id']; ?>', '_blank', 'width=670 height=800 scrollbars=yes');">상품요약정보 설정</button>
<span id="item_info_gubun"><?php echo $item_info_gubun; ?></span>
</td>
</tr>
<?php } //if?>
<tr>
<th scope="row">상품설명</th>
<td> <?php echo editor_html('it_explan', $it['it_explan']); ?></td>
@ -398,6 +386,27 @@ $pg_anchor ='<ul class="anchor">
</table>
</section>
<section id="anc_sitfrm_compact" class="cbox">
<h2>상품요약정보</h2>
<?php echo $pg_anchor; ?>
<div id="compact_info_form"><?php include_once(G4_ADMIN_PATH.'/shop_admin/iteminfo.php'); ?></div>
</section>
<script>
$(function(){
$("#it_info_gubun").live("change", function() {
var gubun = $(this).val();
$.post(
"<?php echo G4_ADMIN_URL; ?>/shop_admin/iteminfo.php",
{ it_id: "<?php echo $it['it_id']; ?>", gubun: gubun },
function(data) {
$("#compact_info_form").empty().html(data);
}
);
});
});
</script>
<section id="anc_sitfrm_cost" class="cbox">
<h2>가격 및 재고</h2>
<?php echo $pg_anchor; ?>

View File

@ -363,6 +363,15 @@ sql_query(" delete from {$g4['shop_item_relation_table']} where it_id2 = '$it_id
// 이벤트상품을 우선 삭제함
sql_query(" delete from {$g4['shop_event_item_table']} where it_id = '$it_id' ");
// 상품요약정보
$value_array = array();
for($i=0; $i<count($_POST['ii_article']); $i++) {
$key = $_POST['ii_article'][$i];
$val = $_POST['ii_value'][$i];
$value_array[$key] = $val;
}
$it_info_value = serialize($value_array);
$sql_common = " ca_id = '$ca_id',
ca_id2 = '$ca_id2',
@ -408,6 +417,8 @@ $sql_common = " ca_id = '$ca_id',
it_ip = '{$_SERVER['REMOTE_ADDR']}',
it_order = '$it_order',
it_tel_inq = '$it_tel_inq',
it_info_gubun = '$it_info_gubun',
it_info_value = '$it_info_value',
it_img1 = '$it_img1',
it_img2 = '$it_img2',
it_img3 = '$it_img3',

View File

@ -2,123 +2,67 @@
include_once('./_common.php');
include_once(G4_LIB_PATH.'/iteminfo.lib.php');
$it_id = trim($_GET['it_id']);
if ($_GET['gubun']) {
$gubun = $_GET['gubun'];
} else {
$sql = " select ii_gubun from {$g4['shop_item_info_table']} where it_id = '$it_id' group by ii_gubun ";
$row = sql_fetch($sql);
$gubun = $row['ii_gubun'] ? $row['ii_gubun'] : "wear";
}
$it_id = trim($_POST['it_id']);
$gubun = $_POST['gubun'] ? $_POST['gubun'] : 'wear';
if($it['it_id'])
$it_id = $it['it_id'];
$null_text = "상품페이지 참고";
$sql = " select it_id, it_info_gubun, it_info_value from {$g4['shop_item_table']} where it_id = '$it_id' ";
$it = sql_fetch($sql);
$g4['title'] = "상품요약정보 설정";
if($gubun)
$g4['title'] .= ' : '.$item_info[$gubun]['title'];
include_once(G4_PATH.'/head.sub.php');
if(!$_POST['gubun'] && $it['it_info_gubun'])
$gubun = $it['it_info_gubun'];
?>
<form id="fiteminfo" method="post" action="#" onsubmit="return fiteminfo_submit(this)">
<input type="hidden" name="it_id" value="<?php echo $it_id; ?>">
<div class="cbox">
<h1><?php echo $g4['title']; ?></h1>
<p>모든 필드를 반드시 입력하셔야 합니다.</p>
<table class="frm_tbl">
<colgroup>
<col class="grid_3">
<col>
</colgroup>
<tbody>
<tr>
<th scope="row"><label for="gubun">상품군</label></th>
<td>
<?php echo help("상품군을 선택하면 자동으로 페이지가 전환됩니다."); ?>
<select id="gubun" name="gubun" onchange="location.href='?it_id=<?php echo $it_id; ?>&amp;gubun='+this.value;">
<option value="">상품군을 선택하세요.</option>
<?php
foreach($item_info as $key=>$value) {
$opt_value = $key;
$opt_text = $value['title'];
echo '<option value="'.$opt_value.'" '.get_selected($gubun, $opt_value).'>'.$opt_text.'</option>'.PHP_EOL;
}
?>
</select>
</td>
</tr>
<?php
$article = $item_info[$gubun]['article'];
if ($article) {
foreach($article as $key=>$value) {
$el_name = $key;
$el_title = $value[0];
$el_example = $value[1];
$sql = " select ii_value from {$g4['shop_item_info_table']} where it_id = '$it_id' and ii_gubun = '$gubun' and ii_article = '$key' ";
$row = sql_fetch($sql);
if ($row['ii_value']) $el_value = $row['ii_value'];
?>
<tr>
<th scope="row"><label for="<?php echo $el_name.$i?>"><?php echo $el_title; ?></label></th>
<td>
<input type="hidden" name="<?php echo $el_name; ?>[]" value="<?php echo $el_title; ?>">
<?php if ($el_example != "") echo help($el_example); ?>
<input type="text" name="<?php echo $el_name; ?>[]" value="<?php echo $el_value; ?>" id="<?php echo $el_name.$i; ?>" required class="frm_input required" />
</td>
</tr>
<?php
}
}
?>
<tr>
<th>빈 칸 일괄채우기</th>
<td>
<?php echo help("상품페이지에 상품요약정보가 포함되어 있어 생략 가능한 경우 선택하십시오."); ?>
<label for="null">비어있는 칸을 &quot;<?php echo $null_text; ?>&quot;로 채우기</label>
<input type="checkbox" id="null">
</td>
</tr>
</tbody>
</table>
<div class="btn_confirm">
<input type="submit" value="입력" class="btn_submit">
<button type="button" onclick="javascript:window.close()">창닫기</button>
</div>
</div>
</form>
<script>
$(function(){
$("#null").click(function(){
var $f = $("#fiteminfo input[type=text], #fiteminfo textarea");
if (this.checked) {
$.each($f, function(){
if ($(this).val() == "") {
$(this).val("<?php echo $null_text; ?>");
}
});
} else {
$.each($f, function(){
if ($(this).val() == "<?php echo $null_text; ?>") {
$(this).val("");
}
});
}
});
});
function fiteminfo_submit(f)
{
f.action = "./iteminfoupdate.php";
return true;
}
</script>
<p><strong>전자상거래 등에서의 상품 등의 정보제공에 관한 고시</strong>에 따라 총 35개 상품군에 대해 상품 특성 등을 양식에 따라 입력할 수 있습니다.</p>
<table class="frm_tbl">
<colgroup>
<col class="grid_3">
<col>
</colgroup>
<tbody>
<tr>
<th scope="row"><label for="it_info_gubun">상품군</label></th>
<td>
<?php echo help("상품군을 선택하면 자동으로 항목이 변환됩니다."); ?>
<select id="it_info_gubun" name="it_info_gubun">
<option value="">상품군을 선택하세요.</option>
<?php
foreach($item_info as $key=>$value) {
$opt_value = $key;
$opt_text = $value['title'];
echo '<option value="'.$opt_value.'" '.get_selected($gubun, $opt_value).'>'.$opt_text.'</option>'.PHP_EOL;
}
?>
</select>
</td>
</tr>
<?php
include_once(G4_PATH.'/tail.sub.php');
?>
if($it['it_info_value'])
$info_value = unserialize($it['it_info_value']);
$article = $item_info[$gubun]['article'];
if ($article) {
foreach($article as $key=>$value) {
$el_name = $key;
$el_title = $value[0];
$el_example = $value[1];
$el_value = '상품페이지 참고';
if($gubun == $it['it_info_gubun'] && $info_value[$key])
$el_value = $info_value[$key];
?>
<tr>
<th scope="row"><label for="ii_article_<?php echo $el_name; ?>"><?php echo $el_title; ?></label></th>
<td>
<input type="hidden" name="ii_article[]" value="<?php echo $el_name; ?>">
<?php if ($el_example != "") echo help($el_example); ?>
<input type="text" name="ii_value[]" value="<?php echo $el_value; ?>" id="ii_article_<?php echo $el_name; ?>" required class="frm_input required" />
</td>
</tr>
<?php
}
}
?>
</tbody>
</table>

View File

@ -1,36 +0,0 @@
<?php
include_once('./_common.php');
include_once(G4_LIB_PATH.'/iteminfo.lib.php');
// 기존의 상품요약정보를 삭제하고 다시 만든다.
sql_query(" delete from {$g4['shop_item_info_table']} where it_id = '{$_POST['it_id']}' ");
$gubun = "";
foreach ($_POST as $key=>$value) {
if ($key == "it_id") continue;
if ($key == "gubun") {
$gubun = $value;
continue;
}
$sql = " insert {$g4['shop_item_info_table']}
set it_id = '{$_POST['it_id']}',
ii_gubun = '$gubun',
ii_article = '$key',
ii_title = '$value[0]',
ii_value = '$value[1]' ";
sql_query($sql);
}
$item_info_gubun = item_info_gubun($gubun);
$item_info_gubun .= $item_info_gubun ? " 등록됨" : "";
include_once(G4_PATH.'/head.sub.php');
?>
<script type="text/javascript">
opener.document.getElementById("item_info_gubun").innerHTML = "<?php echo $item_info_gubun; ?>";
window.close();
</script>
<?php
include_once(G4_PATH.'/tail.sub.php');
?>

View File

@ -557,29 +557,4 @@ $item_info = array(
)
),
);
// 상품상세정보 테이블 생성
function create_table_item_info()
{
global $g4;
return sql_query("
CREATE TABLE IF NOT EXISTS `{$g4['shop_item_info_table']}` (
`ii_id` int(11) NOT NULL AUTO_INCREMENT,
`it_id` varchar(10) NOT NULL,
`ii_gubun` varchar(50) NOT NULL,
`ii_article` varchar(50) NOT NULL,
`ii_title` varchar(255) NOT NULL,
`ii_value` varchar(255) NOT NULL,
PRIMARY KEY (`ii_id`),
UNIQUE KEY `it_id` (`it_id`,`ii_gubun`,`ii_article`)
)
", false);
}
function item_info_gubun($gubun)
{
global $item_info;
return $item_info[$gubun]['title'];
}
?>

View File

@ -433,9 +433,10 @@ else
<h3>상품 정보 고시</h3>
<?php
$sql = " select * from {$g4['shop_item_info_table']} where it_id = '$it_id' order by ii_id ";
$result = sql_query($sql, false);
if (@mysql_num_rows($result)) {
if ($it['it_info_value']) {
$info_data = unserialize($it['it_info_value']);
$gubun = $it['it_info_gubun'];
$info_array = $item_info[$gubun]['article'];
?>
<!-- 상품정보고시 -->
<table id="sit_inf_open">
@ -445,13 +446,15 @@ else
</colgroup>
<tbody>
<?php
for ($i=0; $row=sql_fetch_array($result); $i++) {
foreach($info_data as $key=>$val) {
$ii_title = $info_array[$key][0];
$ii_value = $val;
?>
<tr valign="top">
<th scope="row"><?php echo $row['ii_title']; ?></th>
<td><?php echo $row['ii_value']; ?></th>
<th scope="row"><?php echo $ii_title; ?></th>
<td><?php echo $ii_value; ?></th>
</tr>
<?php } //for?>
<?php } //foreach?>
</tbody>
</table>
<!-- 상품정보고시 end -->

View File

@ -421,9 +421,10 @@ else
<h3>상품 정보 고시</h3>
<?php
$sql = " select * from {$g4['shop_item_info_table']} where it_id = '$it_id' order by ii_id ";
$result = sql_query($sql, false);
if (@mysql_num_rows($result)) {
if ($it['it_info_value']) {
$info_data = unserialize($it['it_info_value']);
$gubun = $it['it_info_gubun'];
$info_array = $item_info[$gubun]['article'];
?>
<!-- 상품정보고시 -->
<table id="sit_inf_open">
@ -433,13 +434,15 @@ else
</colgroup>
<tbody>
<?php
for ($i=0; $row=sql_fetch_array($result); $i++) {
foreach($info_data as $key=>$val) {
$ii_title = $info_array[$key][0];
$ii_value = $val;
?>
<tr valign="top">
<th scope="row"><?php echo $row['ii_title']; ?></th>
<td><?php echo $row['ii_value']; ?></th>
<th scope="row"><?php echo $ii_title; ?></th>
<td><?php echo $ii_value; ?></th>
</tr>
<?php } //for?>
<?php } //foreach?>
</tbody>
</table>
<!-- 상품정보고시 end -->