애드온에서 글쓴이 구분 처리
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.2 |
애드온에서
글쓴이가 로그인한 회원과 같은 인물인 경우에 애드온이 동작이 안되게 처리 하고 싶은데
잘 안되어서 문의 합니다.
$document_srl = Context::get('document_srl');
if($called_position == 'after_module_proc') {
if($logged_info->member_srl = $document_srl) return;
}
또는
if($called_position == 'after_module_proc') {
if($logged_info->member_srl = $oDocument->document_srl) return;
}
둘다 안먹히는데 혹시 놓치고 있는게 있을까요?
skyo
Lv. 10
https://x86.co.kr
댓글 9
이렇게 하면 될거 같네요
$oDocument 선언도 없는것 같아요.
document_srl 가지고 게시글 정보 구하고 거기서 글쓴이 member_srl 을 구해서 비교해야 하지 않을가 싶어요.
$oDocument = Context::get('oDocument');
$document_srl = Context::get('document_srl');
선언 되어 있는데 잘 안되네요. 감사합니다.
$oDocument = getModel('document')->getDocument(Context::get('document_srl');
if($oDocument->get('member_srl') == Context::get('logged_info')->member_srl) return;
$oDocument 도 마찬가지지만$logged_info 역시 애드온에서는 빈 변수일뿐입니다. Context::get('logged_info') 로 로그인 정보를 가져와야 합니다.
여기에서 Context::get('is_logged') 을 활용해서 로그인까지 채크 하는 방법도 있겠습니다.
[02-Apr-2022 22:28:05 Etc/GMT-9] PHP Exception: ParseError #0 "syntax error, unexpected ';', expecting ')'" in addons/addon_jump_document/addon_jump_document.addon.php on line 12
#0 /home/www/classes/module/ModuleHandler.class.php(110): include()
#1 /home/www/index.php(51): ModuleHandler->__construct()
$oDocument = getModel('document')->getDocument(Context::get('document_srl'));
해당 에러는 신텍스 에러로 문법이 틀렷다는거니 보통 갈호이나 이런 부분에서 오타가 있는 경우이니 그런것을 위주로 찾아보시면 됩니다. (PHPSTorm이나 sublime text같은 에디터에서 PHP인텔리젠 지원된다면 문법이 틀렷을때 표시해주기도 합니다.)