묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
동우님 자세히 좀...ㅠㅠ
2012.02.20 00:07
카테고리 안에 있는 게시글에서 특정 게시글은 로그인해서 볼 수 있는 질문을 드렸는데,
동우님이 잘 이해하시고 힌트를 주셨는데,
힌트 말씀은 이해가 됩니다. 그 방법이 맞기도 하구요.
근데 소스를 짤 줄 모릅니다ㅠㅠ
예시로 좀 보여주시면 안될까요?ㅠㅠ
글쓴이가 글을 쓸 때, 확장변수에 글을 읽을 수 있는 레벨을 적으면
그 레벨 이하는 글을 못읽게 하는 방법입니다.....
확장변수를 하나 만들면 되고, 이미 만들어 진 확장변수 입력칸이 있다면 안만들어도 됩니다
하지만 꼭 새로 만들어야 한다면 첫번째 확장변수를 사용해야 하고
첫번째 확장변수를 사용하지 않는다면 코드를 수정해야 합니다.
테스트환경
core 1.5.1.8
board 1.4.3 / xe_official 게시판 스킨
xe -modules - board - skins - xe_official - view_document.html 열고
최상단에
{@
$oDocumentModel = &getModel('document');
$readLevel = $oDocumentModel->getExtraVars($module_info->module_srl, $oDocument->document_srl);
$readLevel = preg_match('/[^0-9]/', $readLevel[1]->value)?'':$readLevel[1]->value;
$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($logged_info->member_srl);
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$level = $oPointModel->getLevel($point, $config->level_step);
}
<!--@if( $level >= $readLevel || $logged_info->member_srl==$oDocument->get('member_srl') || $logged_info->is_admin=="Y" )-->
이것을 입력
그리고 최 하단에
<!--@else-->
<div>{$lang->msg_not_permitted}</div>
<!--@end-->
이것 입력
첫번째 확장변수에서 값을 입력하지 않거나 문자가 함께 입력되거나 숫자 0을 입력하면
비회원도 글읽기가 가능하고
숫자를 넣으면 그 레벨부터 글을 읽을 수 있습니다.