상품1:1 문의 및 구매후기에 게시판과 같은 파일첨부 및 링크 기능을 넣으려고 합니다.
본문
g5_shop_item_qa 테이블에
qa_file 이라는 칼럼을 추가해 주었습니다. (write_board 테이블의 file과 같습니다.)
그리고 1:1 문의를 남길때 파일 업로드 해주는것도 붙여놓았습니다.
filezilla 로 확인해본 결과 data/file/itemQa 라는 폴더에
업로드가 되는것 까지 확인했구요.
그리고 g5_board_file 테이블에 row 가 insert 되는것도 확인했습니다..
근데 이걸 어떻게 출력시켜줘야 할지 모르겠네요ㅠ
bbs/write.php
bbs/view.php
skin/board/write.skin.php
skin/board/view.skin.php 를 참고해서 파일 업로드까지는 구현 한것 같습니다(?)
아래는 itemqa.skin.php 파일입니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.G5_SHOP_SKIN_URL.'/style.css">', 0);
?>
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
<!-- 1:1문의 목록 시작 { -->
<section id="sit_qa_list">
<h3>등록된 1:1문의</h3>
<div class="it_qa_idx clear">
<span class="it_qa_idx_num">번호</span>
<span class="it_qa_idx_title">제목</span>
<span class="it_qa_idx_writer">작성자</span>
<span class="it_qa_idx_date">작성일</span>
<span class="it_qa_idx_answer">답변여부</span>
</div>
<?php
$thumbnail_width = 500;
$iq_num = $total_count - ($page - 1) * $rows;
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$iq_name = get_text($row['iq_name']);
$iq_subject = conv_subject($row['iq_subject'],150,"…");
$is_secret = false;
if($row['iq_secret']) {
$iq_subject .= ' <img src="'.G5_SHOP_SKIN_URL.'/img/icon_secret.gif" alt="비밀글">';
if($is_admin || $member['mb_id' ] == $row['mb_id']) {
$iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width);
} else {
$iq_question = '비밀글로 보호된 문의입니다.';
$is_secret = true;
}
} else {
$iq_question = get_view_thumbnail(conv_content($row['iq_question'], 1), $thumbnail_width);
}
$iq_time = substr($row['iq_time'], 2, 8);
$hash = md5($row['iq_id'].$row['iq_time'].$row['iq_ip']);
$iq_stats = '';
$iq_style = '';
$iq_answer = '';
if ($row['iq_answer'])
{
$iq_answer = get_view_thumbnail(conv_content($row['iq_answer'], 1), $thumbnail_width);
$iq_stats = '답변완료';
$iq_style = 'sit_qaa_done';
$is_answer = true;
} else {
$iq_stats = '답변전';
$iq_style = 'sit_qaa_yet';
$iq_answer = '답변이 등록되지 않았습니다.';
$is_answer = false;
}
if ($i == 0) echo '<ol id="sit_qa_ol">';
?>
<li class="sit_qa_li clear">
<div class="sit_qa_num">
<?php echo $iq_num; ?>
</div>
<section class="sit_qa_section clear">
<div class="sit_qa_title">
<?php
if ($row['device']=="m") {
echo "<img src=\"".$board_skin_url."/basic/img/icon_mobile.gif\" class=\"icon_device\">";
} else {
echo "<img src=\"".$board_skin_url."/basic/img/icon_desktop.gif\" class=\"icon_device\">";
}
echo $iq_subject; ?>
</div>
<div class="sit_qa_dl clear">
<p style="width: 120px;"><?php echo $iq_name; ?></p>
<p>
<?php
$today = date("Y-m-d");
$iq_time_str = substr($row['iq_time'], 0, -8);
if (trim($today) == trim($iq_time_str)){
// 오늘 게시물이면
echo substr($row['iq_time'], 10, -3);
} else {
// 오늘 게시물이 아니면
echo (substr($row['iq_time'], 2, 8));
}
?>
</p>
<p class="<?php echo $iq_style; ?>"><?php echo $iq_stats; ?></p>
</div>
<div id="sit_qa_con_<?php echo $i; ?>" class="sit_qa_con">
<div class="sit_use_p">
<div class="sit_qa_qaq">
<div class="sit_qa_file">
<h2 class="sound_only">첨부파일</h2>
<ul>
<?php
// 가변 파일
for ($i=0; $i<count($row['qa_file']); $i++) {
if (isset($row['qa_file'][$i]['source']) && $row['qa_file'][$i]['source'] && !$row['qa_file'][$i]['row']) {
?>
<li>
<a href="<?php echo $row['qa_file'][$i]['href']; ?>" class="row_file_download">
<img src="<?php echo $board_skin_url ?>/img/icon_file.gif" alt="첨부">
<strong><?php echo $row['qa_file'][$i]['source'] ?></strong>
<?php echo $row['qa_file'][$i]['content'] ?> (<?php echo $row['qa_file'][$i]['size'] ?>)
</a>
<span class="bo_v_file_cnt"><?php echo $row['qa_file'][$i]['download'] ?>회 다운로드</span>
<span>DATE : <?php echo $row['qa_file'][$i]['datetime'] ?></span>
</li>
<?php
}
}
?>
</ul>
</div>
<strong>문의내용</strong><br>
<?php
// 파일 출력
$board = $it_id;
$v_img_count = count($row['qa_file']);
if($v_img_count) {
echo "<div class=\"sit_qa_img\">\n";
for ($i=0; $i<=count($row['qa_file']); $i++) {
if ($row['qa_file'][$i]) {
//echo $view['file'][$i]['view'];
echo "등록된 파일수 ".get_view_thumbnail($row['qa_file'][$i][0]);
}
}
echo "</div>\n";
}
?>
<?php echo $iq_question; // 상품 문의 내용 ?>
</div>
<?php if(!$is_secret) { ?>
<div class="sit_qa_qaa">
<strong>답변</strong><br>
<?php echo $iq_answer; ?>
</div>
<?php } ?>
</div>
<?php if ($is_admin || ($row['mb_id'] == $member['mb_id'] && !$is_answer)) { ?>
<div class="sit_qa_cmd">
<a href="<?php echo $itemqa_form."&iq_id={$row['iq_id']}&w=u"; ?>" class="itemqa_form btn01" onclick="return false;">수정</a>
<a href="<?php echo $itemqa_formupdate."&iq_id={$row['iq_id']}&w=d&hash={$hash}"; ?>" class="itemqa_delete btn01">삭제</a>
</div>
<?php } ?>
</div>
<button type="button" class="btn_sit_qa_li">답변 보기</button>
</section>
</li>
<?php
$iq_num--;
}
if ($i > 0) echo '</ol>';
if (!$i) echo '<p class="sit_empty">상품문의가 없습니다.</p>';
?>
</section>
<?php
echo itemqa_page($config['cf_write_pages'], $page, $total_page, "./itemqa.php?it_id=$it_id&page=", "");
?>
<div id="sit_qa_wbtn">
<?php if (($member['mb_level'] < 4) && ($it['ca_id'] != '1030')) { ?>
<a href="javascript:;" onclick="alert('기업회원만 작성 가능한 공간입니다.\n\n회원구분과 관련하여 자주묻는질문에서 내용을 확인하실수 있습니다.');"class="btn02 itemqa_form">질문하기</a>
<?php } else if (($member['mb_level'] >= 2) && ($it['ca_id'] == '1030')) { ?>
<a href="<?php echo $itemqa_form; ?>" class="btn02 itemqa_form">질문하기<span class="sound_only"> 새 창</span></a>
<?php } else { ?>
<a href="<?php echo $itemqa_form; ?>" class="btn02 itemqa_form">질문하기<span class="sound_only"> 새 창</span></a>
<?php } ?>
<a href="<?php echo $itemqa_list; ?>" class="btn01 itemqa_list">전체보기</a>
</div>
<script>
$(function(){
<?php if(($member['mb_level'] >= 4) && ($it['ca_id'] != '1030')) { ?>
$(".itemqa_form").click(function(){
window.open(this.href, "itemqa_form", "width=810,height=680,scrollbars=1");
return false;
});
<?php } else if (($member['mb_level'] >= 2) && ($it['ca_id'] == '1030')) { ?>
$(".itemqa_form").click(function(){
window.open(this.href, "itemqa_form", "width=810,height=680,scrollbars=1");
return false;
});
<?php } ?>
$(".itemqa_delete").click(function(){
return confirm("정말 삭제 하시겠습니까?\n\n삭제후에는 되돌릴수 없습니다.");
});
$(".btn_sit_qa_li").click(function(){
var $con = $(this).siblings(".sit_qa_con");
$(".btn_sit_qa_li").text("답변 보기");
if($con.is(":visible")) {
$con.slideUp();
$(this).text("답변 보기");
} else {
$(".sit_qa_con:visible").slideUp();
$(".sps_con_btn button").text("답변 보기");
$con.slideDown(
function() {
// 이미지 리사이즈
$con.viewimageresize2();
}
);
$(this).text("답변 닫기");
}
});
$(".sit_qa_title").click(function(){
var $con = $(this).siblings(".sit_qa_con");
$(".sit_qa_con").slideUp();
if($con.is(":visible")) {
$con.slideUp();
$(this).parent().find(".btn_sit_qa_li").text("답변 보기");
} else {
$(this).parent().find(".btn_sit_qa_li").text("답변 보기");
$("div[id^=sqa_con]:visible").slideUp();
$con.slideDown(
function() {
// 이미지 리사이즈
$con.viewimageresize2();
}
);
$(".btn_sit_qa_li").text("답변 보기");
$(this).parent().find(".btn_sit_qa_li").text("답변 닫기");
}
});
$(".qa_page").click(function(){
$("#itemqa").load($(this).attr("href"));
return false;
});
});
</script>
<!-- } 상품문의 목록 끝 -->
!-->
답변 1
가변파일 주석 위에 한줄 추가해보세요.
'qa_code' 부분은 님이 bo_table 필드에 저장한 qa code를 넣으셔야 합니다.
<?php
$row['qa_file'] = get_file('qa_code', $row['iq_id']);
// 가변 파일
for ($i=0; $i<count($row['qa_file']); $i++) {
if (isset($row['qa_file'][$i]['source']) && $row['qa_file'][$i]['source'] && !$row['qa_file'][$i]['row']) {
?>
답변을 작성하시기 전에 로그인 해주세요.