웹마스터 팁
XE 공식 게시판에 (다운로드) 같은 '임의목록' 집어 넣기 (확장변수x)
2010.12.30 16:31
자세한 설명은 아래에
우선 캡쳐 화면입니다...
xe 관리자모드 - 게시판으로 들어가셔서 - 목록설정을 보면
안보이던 '다운로드' 가 있습니다. 직접 만든겁니다... (확장변수)에서 만든건 아니고요...
확장변수에서 만들면 게시판에 글쓸때 항상 확장변수 입력 폼이 보여지고, 또
url text 전화번호 주소 형식등이 있지만, 다운로드 형식은 없더라구요.
메모장 같은 에디터로 modules 폴더 안의 board 폴더로 갑니다..
여기서 쓰인 게시판 모듈은 xe 공식 게시판 모듈입니다. ex 보드 등 좋은 것들도 많지만~
우선 lang 폴더안에 ko.lang.php 파일을 열어 위와 같은 $lang-> 언어를 넣어줍니다.
그리고 board.class.php 와 board.model.php 를 수정해 줍니다..
먼저 model.php 를 열고 40 줄에 맨끝에 file_download 를 추가합니다. 그러면 관리자화면에서 '다운로드' 항목이 보입니다.
하지만 아직 정상적으로 작동은 하지 않습니다.
$virtual_vars = array( 'no', 'title', 'regdate', 'last_update', 'last_post', 'nick_name', 'user_id', 'user_name', 'readed_count', 'voted_count','thumbnail','summary','+ 'file_download');
그리고 class.php 에 12줄에 정렬옵션도 넣어줍니다. (여기서 막혔슴;; 다운로드 횟수로 정렬되게 해야 하는데 좀 알려주세요미 ㅠㅠ)
var $order_target = array('list_order', 'update_order', 'regdate', 'voted_count', 'readed_count', 'comment_count', 'title', 'file_download'); // 정렬 옵션
그리고 작동이 되게 해야합니다.
쓰시는 게시판 스킨으로 갑니다.
* 저는 xe_official 을 선택했습니다.
따로 제가만든~ only 텍스트 (이미지 하나도 없는) 스킨도 있지만, 너무 허접해서 ㅋㅋ
리스트형식을 선택합니다. (갤러리형,웹진형,리스트형) 이 보이는데요. 세가지다 수정하셔도 되고요.
우선 리스트형을 수정해 보겠습니다.
_style.list.html 파일을 엽니다.
여기서 고쳐야할 부분은 세군데 입니다.
처음 45줄 부근으로 갑니다. <!--// 사용자 선언 확장변수일 경우 --> 이 부분 위에 다음 소스를 추가해줍니다.
알아보기 쉽게 주석도 달아줬습니다.
<!-- 다운로드 확장변수 목록을 임의로 추가한 수정 부분 --><!--@elseif($val->type == 'file_download')--><th scope="col">{$lang->file_download}</th><!--@end-->
두번째로 120줄 부근으로 갑니다. 그리고 다음 소스를 <!--// 사용자 선언 확장변수일 경우 --> 위 부분에 추가해 줍니다.
역시 주석을 답니다. 주석달기를 생활화 합시다~ xe 는 오픈소스 이니까요 ㅋㅋ
<!-- 다운로드 확장변수 목록을 임의로 추가한 수정 부분 --><!--@elseif($val->type == 'file_download')--><td class="file_download">{@ $uploaded_list = $document->getUploadedFiles() } <!--@foreach($uploaded_list as $key => $file)--><a href="{getUrl()}{$file->download_url}">{$lang->file_download}</a><!--@end--></td><!--@end-->
그리고 끝으로 190줄 부근에 역시나 <!--// 사용자 선언 확장변수일 경우 --> 이 윗부분에 다음 소스를 추가해 줍니다.
주석달기 잊지 마시공
<!-- 다운로드 확장변수 목록을 임의로 추가한 수정 부분 --><!--@elseif($val->type == 'file_download')--><td class="file_download">{@ $uploaded_list = $document->getUploadedFiles() }<!--@foreach($uploaded_list as $key => $file)--><a href="{getUrl()}{$file->download_url}">{$lang->file_download}</a> <!--@end--></td>
그럼 완성입니다. 게시판을 보시면 '다운로드' 버튼이 보이며, 첨부파일을 바로 받을 수 있습니다.
css 파일을 수정하시면, 예쁜 그림을 버튼으로 대체할 수도 있습니다.
* 코드 하이라이터 사용이 미숙하여
코드가 다닥다닥 붙여나옵니다.;;
p.s 다운로드 횟수로 정렬문제좀 해결해 주세요~~~~~ 질문답변 게시판으로 ㄱㄱ
그리고 이건 http://www.xpressengine.com/19361771 만들고 있는 애드온의 문제인데,, php 로 파일 존재여부 확인하는것...
다운로드 버튼이 아닌, 다운로드 횟수로 나오게 하려면
120줄 과 190줄의 {$lang->file_download} 이 부분을
{number_format($file->download_count)} 이걸로 바꿔주시면 됩니다.