관리자권한설정을 한 회원 로그인시 관리자페이지 가기메뉴 출력 안되는 문제
본문
이 문제와 관련하여 불꽃게이님이 질문답변란에 질문을 올렸는데 명확한 답변이 없어 소스를 뒤져 나름의 원인과 해결책을 찾아 올려 봅니다.
이윰님의 감수를 거쳐 버그로 판단이 되신다면 다음 패치에 반영을 건의 드립니다.
불꽃게이님 글 참조: http://www.eyoom.net/bbs/board.php?bo_table=qna&wr_id=1298
문제)
관리자 > 관리자권한설정 에서 추가된 회원 로그인시 내메뉴에 "관리자페이지" 가기 메뉴가 표시가 되지 않음
원인)
$is_auth 변수의 global지정 누락 또는 템플릿 변수 _is_auth 지정 오류
해결책)
1. eyoom/classes/Template_/tpl_plugin/function.eb_outlogin.php 에 global $is_auth 추가
function eb_outlogin($skin_dir='basic')
{
global $config, $member, $g5, $urlencode, $is_auth, $is_admin, $is_member, $memo_not_read, $eyoomer, $respond, $tpl, $tpl_name, $eb, $levelinfo, $levelset;
2. 이미 eyoom/classes/Template_/tpl_plugin/function.eb_outlogin.php에서
$tpl->assign(array(
"is_admin" => $is_admin,
"is_auth" => $is_auth,
"nick" => $nick,
"point" => $point,
"lvinfo" => $lvinfo,
"lv" => $lv,
"levelset" => $levelset,
"respond" => $respond,
"eyoomer" => $eyoomer,
"profile_photo" => $profile_photo,
"memo_not_read" => $memo_not_read,
"outlogin_url" => $outlogin_url,
"outlogin_action_url" => $outlogin_action_url,
));
와 같이 is_auth를 assign하였기 때문에 지정을 _is_auth가 아닌 is_auth로 skin내에서 지정
3. eyoom/theme/basic/skin_bs/outlogin/basic/outlogin.skin.2.html
3-1. global $is_auth를 추가하지 않았을 경우 지정방법(eyoom/classes/Template_/tpl_plugin/function.eb_outlogin.php를 수정하지 않을 경우임)
<!--{? _is_admin == 'super' || is_auth}-->
<li class="divider"></li>
<li><a href="{C.G5_ADMIN_URL}"><i class="fa fa-cogs"></i> 관리자페이지</a></li>
<!--{/}-->
3-2. global $is_auth를 추가하였을 경우 지정방법(eyoom/classes/Template_/tpl_plugin/function.eb_outlogin.php를 수정했을 경우임)
<!--{? _is_admin == 'super' || _is_auth}-->
<li class="divider"></li>
<li><a href="{C.G5_ADMIN_URL}"><i class="fa fa-cogs"></i> 관리자페이지</a></li>
<!--{/}-->
정리하면
eyoom/classes/Template_/tpl_plugin/function.eb_outlogin.php 의 global $is_auth를 추가하고 skin파일은 수정하지 않고 사용하가나
eyoom/theme/basic/skin_bs/outlogin/basic/outlogin.skin.2.html 의 _is_auth를 is_auth로 수정하여 사용하면 됩니다.
본 내용과 관련하여 다른 의견이 있으시면 첨언 부탁합니다.
감사합니다.
댓글목록2
joosam님의 댓글
축하합니다. 첫댓글 포인트 32포인트를 획득하였습니다.
정상나라님의 댓글의 댓글