묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
이 소스에서 레벨이 40 이상인 경우와 관리자인 경우에는 그냥 {$oDocument->getContent(false)} 를 보여주고 싶습니다.
반대로 말하면 위의 저 긴 조건이 레벨 40미만(39이하)의 경우와 일반회원인 경우(비회원,관리자 제외)에만 동작하도록 수정하고 싶습니다.
어떻게 하면 좋을까요?
또, 저 소스를 간소화 할수는 없을런지요?
레벨 몇 이상시에..소스 추가및 수정
2011.08.25 00:22
{@
$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($logged_info->member_srl);
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$level = $oPointModel->getLevel($point, $config->level_step);
$day = $level * 2;
$reg = $oDocument->variables[regdate];
$sum = date("YmdHis",strtotime("-$day day", strtotime("now")));
}
<!--@ if(($reg < $sum && $is_logged && $mid=="image") || ($reg < $sum && $is_logged && $mid=="wallpaper") || ($reg < $sum && $is_logged && $mid=="otherimage") || ($reg < $sum && $is_logged && $mid=="cosplay") || ($reg < $sum && $is_logged && $mid=="logoimage") || ($reg < $sum && $is_logged && $mid=="music"))-->
<div style="padding:80px;text-align:center;font-weight:bold;border-bottom:1px solid #AAA">당신의 레벨은 {$level} 입니다.<br /> 레벨 {$level}은 최근 {$day}일치 글을 열람할수 있습니다.</div>
<!--@ else-->
{$oDocument->getContent(false)}
<!--@end-->
$oPointModel = &getModel('point');
$point = $oPointModel->getPoint($logged_info->member_srl);
$oModuleModel = &getModel('module');
$config = $oModuleModel->getModuleConfig('point');
$level = $oPointModel->getLevel($point, $config->level_step);
$day = $level * 2;
$reg = $oDocument->variables[regdate];
$sum = date("YmdHis",strtotime("-$day day", strtotime("now")));
}
<!--@ if(($reg < $sum && $is_logged && $mid=="image") || ($reg < $sum && $is_logged && $mid=="wallpaper") || ($reg < $sum && $is_logged && $mid=="otherimage") || ($reg < $sum && $is_logged && $mid=="cosplay") || ($reg < $sum && $is_logged && $mid=="logoimage") || ($reg < $sum && $is_logged && $mid=="music"))-->
<div style="padding:80px;text-align:center;font-weight:bold;border-bottom:1px solid #AAA">당신의 레벨은 {$level} 입니다.<br /> 레벨 {$level}은 최근 {$day}일치 글을 열람할수 있습니다.</div>
<!--@ else-->
{$oDocument->getContent(false)}
<!--@end-->
이 소스에서 레벨이 40 이상인 경우와 관리자인 경우에는 그냥 {$oDocument->getContent(false)} 를 보여주고 싶습니다.
반대로 말하면 위의 저 긴 조건이 레벨 40미만(39이하)의 경우와 일반회원인 경우(비회원,관리자 제외)에만 동작하도록 수정하고 싶습니다.
어떻게 하면 좋을까요?
또, 저 소스를 간소화 할수는 없을런지요?
댓글 2
-
송동우
2011.08.25 00:39
-
도라란
2011.08.25 01:02
아하; 비회원은 조건 상관없이 보이게 할려고 생각했었거든요;
그대로 사용하면
레벨 0은 최근 0일치 글을 열람할수 있습니다.
이런 문구가 나오면서 열람이 안되서..
일단 소스는<!--@ if($level > 49 || $logged_info->is_admin=="Y")-->{$oDocument->getContent(false)}<!--@ else if(($reg < $sum && $is_logged && $mid=="image") || ($reg < $sum && $is_logged && $mid=="wallpaper") || ($reg < $sum && $is_logged && $mid=="otherimage") || ($reg < $sum && $is_logged && $mid=="cosplay") || ($reg < $sum && $is_logged && $mid=="logoimage") || ($reg < $sum && $is_logged && $mid=="music"))--><div style="padding:80px;text-align:center;font-weight:bold;border-bottom:1px solid #AAA">레벨 {$level}은 최근 {$day}일치 글을 열람할수 있습니다.</div><!--@ else-->{$oDocument->getContent(false)}<!--@end-->로 수정해서 적용했습니다.
아래<!--@ else-->{$oDocument->getContent(false)}
를 추가하지 않으니 지정mid가 아닐 경우에 본문을 보여주지 않아서..
{$oDocument->getContent(false)}
<!--@ else if( 기존의 조건들)-->
div 출력내용
<!--@ end-->
그리고 조건문에서 $is_logged는 안넣어도 될 겁니다.
왜냐면 비로그인자는 레벨이 0입니다.
그러면 0곱하기 2 해도 0이고 그래서 아무 글을 클릭해도 내용이 안나옵니다.