웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
'작성 글 보기' 리스트에서 특정 게시판 제외
2012.09.04 11:39
안녕하세요.
기본적으로 '작성 글 보기' 메뉴의 리스트에는 작성자가 작성한 모든 게시물이 보여지게 됩니다. 게시판 권한과 관계없이 모두 표시되기 때문에 관리자가 원하지 않는 게시판의 게시물을 제외하려면 모듈을 수정하거나 해야했습니다.
저도 처음에는 그렇게 사용했었는데, 애드온을 좀 만들다 보니 애드온으로 간단하게 처리할 수 있겠다는 생각이들어 만들어봤습니다.
<?php if(!defined('__ZBXE__') && !defined('__XE__')) exit(); /** * @file exclude_my_document.addon.php * @author showjean (showjean@naver.com http://showjean.com/xe) * @brief 특정 게시판 제외한 작성 글 보기 * **/ if($called_position == 'before_module_proc' && Context::getResponseMethod() == "HTML") { if($this->act == 'dispMemberOwnDocument'){ Context::set('__page', Context::get('page')); } }else if($called_position == 'after_module_proc' && Context::getResponseMethod() == "HTML") { if($this->act == 'dispMemberOwnDocument'){ $logged_info = Context::get('logged_info'); $member_srl = $logged_info->member_srl; $module_srl = Context::get('module_srl'); $oModuleModel = &getModel('module'); // option to get a list $args->page = Context::get('__page'); $args->list_count = 5; $args->page_count = 5; $args->search_target = 'member_srl'; $args->search_keyword = $member_srl; $args->sort_index = 'list_order'; $args->module_srl = Context::get('selected_module_srl'); $mids = str_replace(' ', '', $addon_info->exclude_mid); if(strLen($mids) > 0) { $module_srls = $oModuleModel->getModuleSrlByMid($mids); if(isset($module_srls)) $args->exclude_module_srl = $module_srls; } // get a list $oDocumentModel = &getModel('document'); $columnList = array('document_srl', 'title', 'member_srl', 'nick_name', 'readed_count', 'voted_count', 'blamed_count', 'regdate', 'ipaddress', 'status'); $result = $oDocumentModel->getDocumentList($args, false, true, $columnList); // Set values of document_model::getDocumentList() objects for a template Context::set('total_count', $result->total_count); Context::set('total_page', $result->total_page); Context::set('page', $result->page); Context::set('document_list', $result->data); Context::set('page_navigation', $result->page_navigation); Context::set('module_srl', $module_srl); $oMemberView = &getView('member'); $oMemberView->setTemplateFile('document_list'); } } ?>
위 내용으로 애드온을 만드셔도 되고, 아래의 링크에서 파일을 다운로드 하셔도 됩니다.
http://showjean.tistory.com/129
- 13. 01. 13 v0.4 - XE1.4버젼대에서 페이지 이동이 되지 않던 버그 수정
- 12. 11. 13. 현재 v0.3 으로 애드온 설정에 module_srl을 입력하는 것에서 mid를 입력하도록 변경였습니다.