웹마스터 팁
위젯 페이지 또는 메인 페이지에서 게시판 첨부파일 바로 다운로드 할 수 있도록 만들기
2013.05.10 10:51
이전에 이런 팁이 있는지 모르겠지만, 제가 한참 고민해서 만든 것을 공유하고자 합니다.
위젯페이지나 메인페이지에서 최신글 목록에서 곧바로 첨부파일을 다운로드 할 수 있는 팁입니다.
먼저 widgets/content/content.class.php 파일에서 아래부분을 찾습니다.
class contentItem extends Object {
var $browser_title = null;
var $has_first_thumbnail_idx = false;
var $first_thumbnail_idx = null;
var $contents_link = null;
var $domain = null;
---------------------------------------------- <- 여기에 아래 있는 함수들을 첨가합니다.
function getDownloadUrl($file_srl, $sid) {
return sprintf('?module=%s&act=%s&file_srl=%s&sid=%s', 'file', 'procFileDownload', $file_srl, $sid);
}
function getFiles($upload_target_srl, $columnList = array(), $sortIndex = 'file_srl', $ckValid = false) {
$args->upload_target_srl = $upload_target_srl;
$args->sort_index = $sortIndex;
if($ckValid) $args->isvalid = 'Y';
$output = executeQuery('file.getFiles', $args,$columnList);
if(!$output->data) return;
$file_list = $output->data;
if($file_list && !is_array($file_list)) $file_list = array($file_list);
$file_count = count($file_list);
for($i=0;$i<$file_count;$i++) {
$file = $file_list[$i];
$file->source_filename = stripslashes($file->source_filename);
$file->download_url = $this->getDownloadUrl($file->file_srl, $file->sid);
$file_list[$i] = $file;
}
return $file_list;
}
function getUploadedFiles() {
if(!$this->get('uploaded_count')) return;
$oFileModel = &getModel('file');
$file_list = $oFileModel->getFiles($this->get('document_srl'), array(), 'file_srl', true);
return $file_list;
}
그리고 해당 위젯 파일에 넣고 싶은 부분에 아래부분을 첨가합니다.
<!--@foreach($item->getUploadedFiles() as $key => $file)-->[<a href="{getUrl('')}{$file->download_url}">Download</a>]<!--@end-->
만일 여러 첨부파일중에서 가장 먼저 올려진 첨부파일 하나만 링크하고자 한다면, 아래와 같이 입력하면 될 듯 싶습니다. 이거는 테스트 안 해봤습니다.
{@$idx=0}<!--@foreach($item->getUploadedFiles() as $key => $file)--><!--@if($idx==0)-->[<a href="{getUrl('')}{$file->download_url}">Download</a>]<!--@end-->{$idx++}<!--@end-->
[Download]부분에 파일명이 나오게 하고 싶으시면,
[Download] -> [{$file->source_filename}] 로 바꾸시면 됩니다.
도움이 되었으면 좋겠습니다.
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
잦은 등급변경으로, 회원 등급이 엉켰을 경우 해결방법. [1] | NZ448 | 2009.09.10 |
이것두 팁은 되려나...; xe 7대 구성 설치법임..ㅋ; | 불패의초인 | 2009.09.11 |
오른쪽 서브메뉴영역 제목 이미지로 나타내기 [6] | hbeen | 2009.09.11 |
특정그룹회원에게 서비스 제공하기 [4] | 똑디 | 2009.09.12 |
웹에서 직접 zip파일 압축백업,압축풀기-호스팅 사용자님들 편한 툴입니다. [1] | ranson | 2009.09.12 |
네이버 실시간 인기검색어 가져오는 함수 [2] | Darby♡ | 2009.09.14 |
[content위젯] category 리스트만 가져오기.. [16] | 데즈라레 | 2009.09.14 |
XE 서버 이전할 때 통채로 압축해서 옮기는 완벽한 방법-로그인, 첨부파일문제 해결 [5] | 웰빙샵 지영 | 2009.09.15 |
서버이전 이후 발생하는 문제들에 대한 대응책 정리 [16] | Gekkou | 2009.09.16 |
게시판 확장변수 일괄 등록 하기 [2] | 2년후 | 2009.09.20 |
파일첨부 안될때 | 정박사닷컴 | 2009.09.24 |
확장변수 이용 답변완료 이미지 띄우기 간단 팁 [7] | jsuimage | 2009.09.25 |
방명록 게시판에서 확장변수 검사 안되는 문제 임시 방안 | June Oh | 2009.09.28 |
XE 수직 스크롤바 무조껀 띄우기 CSS [7] | 데즈라레 | 2009.09.28 |
/?module=admin 로 들어가지지 않아요. [2] | oO나쁜토끼Oo | 2009.09.29 |
확장변수 한줄입력칸 폭 조정하기 [2] | 아고라 | 2009.09.30 |
로그인이 안되거나 첨부파일이 등록이 안될때. [9] | 똑디 | 2009.09.30 |
이미지마크 쓸 경우 레벨아이콘 위치 바꾸기 | 고진감래 | 2009.09.30 |
추천과 추천포인트 관련 팁 [8] | 고진감래 | 2009.09.30 |
MySQL server has gone away 에러 대응 | 고수군 | 2009.09.30 |