안녕하세요.
게시판 본문내에 버튼을 추가하려 합니다. 만약 글작성자가 회원이라면 에 대한 조건문이 어떻게 되는지 문의드립니다.
만약 글을 작성한 사람이 회원이라면
a버튼....노출
그외 ( 글작성자가 비회원 ) 이면
버튼이 보이질 않음
마트몬
Lv. 8
안녕하세요.
게시판 본문내에 버튼을 추가하려 합니다. 만약 글작성자가 회원이라면 에 대한 조건문이 어떻게 되는지 문의드립니다.
만약 글을 작성한 사람이 회원이라면
a버튼....노출
그외 ( 글작성자가 비회원 ) 이면
버튼이 보이질 않음
댓글 17
리스트의 경우 $oDocument 를 $document로..
답변 감사합니다. 제가 좀더 상세하게 기재를 해야 했었던 것 같습니다.
스케치북 게시판에서 추천 비추천버튼외 스크랩 버튼과 친구 등록 버튼을 추가 했습니다.
아래 적용된 친구 등록 버튼은 글 작성자가 회원이거나 비회원 모두 노출이 되는데요. 글 작성자가 회원일 경우만 버튼이 노출되고 글작성자가 비회원일 경우 친구 등록이 안되므로 친구등록 버튼 노출이 되지 않게끔 하고 싶습니다.
답변 해 주신 코드를 아래에 같이 적용하는게 맞나요? 아래와 같이 적용 해보면 친구등록 버튼이 보이질 않습니다 ^^;;
<!--// Vote -->
<div cond="$mi->votes!='N'" class="rd_vote">
추천 비추천 소스 부분
......
<!--스크랩, 친구 등록 버튼 추가-->
<a href="#" class="blamed declare bd_login" onclick="doCallModuleAction('document','procMemberScrapDocument','{$oDocument->document_srl}')" >
<b><i class="fa fa-paperclip"></i></b>
<span>{$lang->cmd_scrap}</span>
</a>
<!-- ConoHa 님 조건문 적용 -->
<!--@if(Context::get ('logged_info')->member_srl == $oDocument->get ('member_srl'))-->
<a href="{getUrl('', 'act', 'dispCommunicationAddFriend', 'target_srl', $oDocument->getMemberSrl())}" class="blamed declare bd_login"
target=pop onclick="window.open('about:blank','pop','width=520,height=520,resizable=1')">
<b><i class="fa fa-user"></i></b>
<span>친구 등록</span>
</a>
<!--@end-->
<!-- 스크랩, 친구추가 끝-->
</div>
$oDocument->get ('member_srl') != 0 && Context::get ('logged_info')
죄송하지만 하나만 더 여쭤봐도 될까요?
회원으로 글을 쓴 자신의 글에도 친구 등록 버튼이 노출이 안되려고 하는 부분에 대해서 혹시 도움 말씀 좀 받을 수 있을까요? ^^;;
자신이 쓴 글 정도에는 노출되는게 퍼포먼스적으로 볼때 유리하지 않을까요? 많지 않은 케이스 때문에 모든 게시물에 조건검사를 한다는게 효율적이지 못해 보입니다. 자신의 글 친구등록 버튼 노출 되었다고 그거 눌러 친구등록하는 사람은 없을 거에요.
추천,비추천 버튼 이런게 자신의 글에도 노출되는 거는 이러한 면을 고려한 것일거에요.
말씀 해 주시는 부분이 맞을 것 같네요. :)
조건문에
&& ($oDocument ->member_srl != $logged_info->member_srl)이걸 추가해 보세요.&& $logged_info->member_srl != $oDocument->get('member_srl')
먼저 알려드린건 사용해보지 않은거고 이게 사용해본거라 이걸 넣어보세요.
<!--@if(Context::get ('logged_info') && $oDocument->get ('member_srl') != 0 && $oDocument->get ('member_srl') != Context::get ('logged_info')->member_srl)-->
솰라솰라
<!--@end-->
간단히 설명하자면,
"Context::get ('logged_info')" 으로 현재 접속한 사람이 회원인지 확인합니다.
logged_info는 로그인한 회원만 할당되거든요.
"$oDocument->get ('member_srl') != 0" 문서 정보에서 게시자의 회원번호를 확인하여 비교합니다.
참고로 비회원은 회원번호가 0으로 세팅되기 때문에. 0이 아니면 회원이 작성한 게시물인 거죠.
"$oDocument->get ('member_srl') != Context::get ('logged_info')->member_srl"
문서 정보에서 게시자의 회원 번호와 현재 로그인한 회원의 회원 번호를 비교하여
같지 않으면 현재 로그인한 회원이 게시자가 아니기 때문에 게시자한테는 번호가 안뜨게 되겠죠...
실력이 아직 전부 이해는 안되지만 예상치 않게 상세한 도움을 많이 받았습니다 .
추후 정리를 해서 xe타운 회원분들과 함께 공유하겠습니다. 다시 한번 감사 말씀 드려요 :)
비회원이 작성한 글에도 친구 등록 버튼이 노출되는 군요 ^^;