묻고답하기
비회원이 볼때 댓글 색상 바꾸는법
2015.11.28 16:50
현제 설정은 게시글 작성자의 댓글은 빨강색, 댓글목록에서 자기자신의 댓글은 파랑색으로 표시하고있습니다
로그인 하지않은 사용자는 다른색상으로 보이게 사용하고싶습니다
글작성자의 댓글 색상, 자신의 댓글 색상은 검색해서 찾아보고 수정했는데
정작 비회원 색상 수정은 자료를 찾아봐도 안보여서 질문드립니다
게시판은 스케치북 입니다
댓글 7
-
라자루스
2015.11.28 18:53
조건문을 !$logged_info 로 하시면 될 거예요. -
마법사
2015.11.28 23:51
아래는 스케치북 _comment.html 파일의 1라인코드입니다
<style>
.member_{$logged_info->member_srl}>.xe_content {color:#0085FF} <-- 댓글작성자 색깔 파랑색
.member_{$oDocument->variables[member_srl]}>.xe_content {color:#EF0000} <-- 글작성자의 댓글 빨강색
</style>
아래는 스케치북 _comment.html 파일의 16라인코드입니다
<!--@if($comment->get('depth'))-->
<li id="comment_{$comment->comment_srl}" class="fdb_itm clear re bg{($comment->get('depth'))%2} member_{$comment->member_srl} member_{$comment->member_srl==$oDocument->variables[member_srl]}" style="margin-left:{(($comment->get('depth')-1)%10+1)*2}%">
<i class="fa fa-share fa-flip-vertical re"></i><i cond="$comment->get('depth')>10" class="fa fa-share fa-flip-vertical re rere"></i>
<!--@else-->
<li id="comment_{$comment->comment_srl}" class="fdb_itm clear member_{$comment->member_srl} member_{$comment->member_srl==$oDocument->variables[member_srl]}">
<!--@end-->
스케치북 게시판에 이렇게 수정해서 쓰는중입니다
자신의댓글은 색상은 파랑색코드를 추가하였고
글작성자의 댓글색상은 빨간색 코드를 추가하여 사용하고 있는데
로그인한 회원들은 생각하던 색상대로 잘나오는데 비회원이 봤을땐 글작성자의 댓글을뺀 모든댓글이 파랑색으로 보입니다
비회원이 봤을때 파랑색이 아닌 기본글색깔인 검은색으로 보이게끔 하고싶은데
알려주신 코드를 어떤식으로 어떤줄에 어느코드 뒤에 넣어야하는지 모르겠습니다
CSS만 약간 만지는 수준이라 함수라던지 조건문은 해당코드를 어디다 넣어야할지 모르겠습니다
-
라자루스
2015.11.29 00:09
굳이 소스를 그런 식으로 수정하지 않으셔도 됩니다. _comment.html 1라인의 style 소스들에 각각 조건문을 걸어주시면 됩니다.
<!--@if($comment->member_srl==$logged_info->member_srl)--> (댓글 작성자가 본인일 경우)
<style>.fdb_itm .xe_content {color:#0085FF}</style>
<!--@elseif($comment->member_srl==$oDocument->member_srl)--> (댓글 작성자가 글 작성자인 경우)
<style>.fdb_itm .xe_content {color:#EF0000}</style>
<!--@elseif(!$logged_info)--> (로그인 정보가 없는 경우, 즉 비회원인 경우)
<style>.fdb_itm .xe_content {color:#000}</style>
<!--@else--> (그외)
<style>.fdb_itm .xe_content {color:원하는 색상}</style>
<!--@end-->
좀 지저분하게 썼는데 <style></style> 안에서도 조건문이 적용되는지는 잘 모르겠네요.
-
마법사
2015.11.29 01:14
_comment.html 1라인
<!--@if($comment->member_srl==$logged_info->member_srl)-->
<style>.fdb_itm .xe_content {color:#0085FF}</style>
<!--@elseif($comment->member_srl==$oDocument->member_srl)-->
<style>.fdb_itm .xe_content {color:#EF0000}</style>
<!--@elseif(!$logged_info)-->
<style>.fdb_itm .xe_content {color:#000}</style>
<!--@else-->
<style>.fdb_itm .xe_content {color:#0C6}</style>
<!--@end-->
이렇게 적으니 비회원은 모두 파랑색
회원은 모두 빨강색으로 보여지게됩니다
제가 수정한곳은 모두 삭제후 알려주신 코드를 추가했습니다
-
라자루스
2015.11.29 02:32
<!--@if($is_logged && ($comment->get('member_srl')==$logged_info->member_srl))-->
<style>.fdb_itm .xe_content {color:#0085FF}</style>
<!--@elseif($is_logged && ($oDocument->get('member_srl')==$comment->get('member_srl')))-->
<style>.fdb_itm .xe_content {color:#EF0000}</style>
<!--@elseif(!$is_logged)-->
<style>.fdb_itm .xe_content {color:#000}</style>
<!--@else-->
<style>.fdb_itm .xe_content {color:#0C6}</style>
<!--@end-->
이렇게 하면... 될 것 같은데. 이상하게 제 테스트 페이지에서는 $comment->get('member_srl')가 자꾸 오류를 일으켜서 테스트를 해볼 수가 없네요; 만약 마법사님께서도 적용했다가 오류가 생기신다면, 코드는 이전대로 아래와 같이 작성하시고, 비회원에 대한 조건문만 추가해 주세요.
<style>
.member_{$logged_info->member_srl}>.xe_content {color:#0085FF} <-- 댓글작성자 색깔 파랑색
.member_{$oDocument->variables[member_srl]}>.xe_content {color:#EF0000} <-- 글작성자의 댓글 빨강색
</style><!--@if(!is_logged)--> //추가
<style>
.fdb_itm {color:#000 !important}
</style><!--@end-->
-
마법사
2015.11.30 02:46
알려주신대로 해결하였습니다 라자루스님 정말 감사합니다
-
불금
2015.11.28 21:30
http://www.xeschool.com/xe/xenote_useful_variable_logged_info