코노리님의 게시글 읽은이 표시 애드온에서
읽은이 중에 관리자는 제외하고 싶습니다.
https://xetown.com/index.php?mid=xepoint&category=17120&document_srl=11882
어떻게 하면 되나요?
삽질 중인데 잘 안되네요.
1. 본인이 쓴 게시물에는 작성자 표시에 안 나타나게 하는 방법
2. 관리자인 경우에는 관리자만 확인하는 방법
ㅠㅠ
이온디
Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com
댓글 5
2-1. 관리자 작성 게시물에선 애드온 출력을 중지한다는 말씀이신가요? $member_info에 관리자 확인 변수가 담겨 있을 것 같은데용
2-2. 읽은이 목록에서 관리자만 안나타나게 하려 해도 마찬가지로 $member_info로 관리자 확인해서 예외 처리하면 될 것 같구요.
2-1. {$member_info} 로 띄워보면 애드온에서 아무것도 안 나타납니다.
2-2. 엄;;ㅁ;
아, 방금 다운 받아보니 구조가 효율성짱인 것 같아요. 대신 member_info는 들어설 자리가 없구요ㅋㅋ 역시 갓노리님...
그렇다고, 루프 돌 때마다 member_srl로 매번 관리자 여부를 체크하면 비효율적일 것 같고,
차라리 사전에 관리자 그룹에 속한 member_srl을 빼내서 배열로 따로 저장한 다음에,
읽은이 추출하는 반복문에서 in_array로 조건을 걸어주면 어떨까요?
보통 관리자그룹의 group_srl이 1이니까, member_group_member 테이블로 db 쿼리를 날리면 관리자(들)의 member_srl을 추출할 수 있을 것 같아요.
{@
$oDB = &DB::getInstance();
$query = $oDB->_query('SELECT member_srl FROM rx_member_group_member WHERE group_srl = 1');
$result = $oDB->_fetch($query);
}
(관리자그룹의 번호가 1이 아니라면, getAdminGroup.xml 같은 걸 이용해서 그룹 번호를 빼낸 뒤 위의 쿼리를 실행하면 되겠구요.)
그리고 여기서 얻은 member_srl 배열을 애드온의 reader_list 반복문 내의 $val->member_srl과 대조함으로써 끝,
...이면 좋겠당ㅋ
그럼 더 간단할 수 있겠네요.
애드온 파일 21행 조건문이 있는데요.
if(!$oDocument->isExists() || $oDocument->get('member_srl') == $logged_info->member_srl) return;
여기에 앞서 관리자그룹의 member_srl을 추출해내고,
$oDocument->get('member_srl')이 관리자그룹에 속한 member_srl 배열에 포함됐는지 조건을 덧붙이면 될 것 같아요.