자료기증자 :  
차감포인트 :  
파일분류 :  
권장버전 :  
호환윈도우 :  
간단설명 :  

이전에 이런 팁이 있는지 모르겠지만, 제가 한참 고민해서 만든 것을 공유하고자 합니다.

 

위젯페이지나 메인페이지에서 최신글 목록에서 곧바로 첨부파일을 다운로드 할 수 있는 팁입니다.

 

 

 

먼저 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&amp;act=%s&amp;file_srl=%s&amp;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;
        } 
 

그리고 해당 위젯 파일에 넣고 싶은 부분에 아래부분을 첨가합니다.

 

<

() as $key => $file)-->[<a href="{getUrl('')}{$file->download_url}">Download</a>]<>

 

만일 여러 첨부파일중에서 가장 먼저 올려진 첨부파일 하나만 링크하고자 한다면, 아래와 같이 입력하면 될 듯 싶습니다. 이거는 테스트 안 해봤습니다.

 

{@$idx=0}<

() as $key => $file)--><>
[<a
on Gravtar
href="{getUrl('')}{$file->download_url}">Download</a>]<>{$idx++}<>

 

[Download]부분에 파일명이 나오게 하고 싶으시면,

[Download] -> [{$file->source_filename}] 로 바꾸시면 됩니다.

도움이 되었으면 좋겠습니다.

 

profile
Trackback :
List of Articles
Date Views

'모듈분류'를 이...

자료기증자  

파일분류  

  • Sep 26, 2022
  • Views 128

xe코어가 1.5버전으로 업그...

자료기증자  

파일분류  

  • Feb 14, 2014
  • Views 298

재질문, 첨부파일 포인트 ...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 279

확정변수 첨부파일 다운로...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 295

게시판 목록에서 첨부파일 ...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 547

게시판 목록에서 파일 바로...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 330

다운로드 필요 포인트가 0 ...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 284

코멘트를 달아야만 첨부파...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 295

게시판 목록에서 바로 첨부...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 277

XE 공식 게시판에 (다운로...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 336

위젯 페이지 또는 메인 페...

자료기증자  

파일분류  

  • Jan 29, 2014
  • Views 338