https://xe1.xpressengine.com/index.php?mid=download&package_id=22753890
위 블라인드 모듈을 사용하고있는데 블라인드한 회원의 글을 목록이나, 댓글에서 노출하고 싶지 않습니다
찾아보니 제가 원하는 기능이 있는
https://xe1.xpressengine.com/index.php?mid=download&package_id=22753510
위 애드온하고 응용해서 해보려 하는데
if($called_position == 'after_module_proc') {
if(Context::get('document_list') && !Context::get('document_srl')) {
$docu_list = Context::get('document_list');
$logged_info = Context::get('logged_info');
$blocked_list = explode(",",$logged_info->block_list);
foreach($docu_list as $key => $val) {
if(in_array($val->get('nick_name'), $blocked_list)) {
if($logged_info->except_block != "N")
unset($docu_list[$key]);
else {
$temp = $val;
$arr->title="[차단한 회원이 작성한 글입니다]";
$temp->variables = (array) $arr;
$docu_list[$key] = $temp;
}
}
}
Context::set('document_list',$docu_list);
애드온에서는 unset($docu_list[$key]); 이부분이 목록에서 블라인드한 회원의 글 자체를 숨겨주는 기능을 하는거같아
블라인드 모듈에있는 아래 부분을 수정/응용하여
foreach($document_list as $oDocument)
{
if(!is_object($oDocument)) continue;
if(!in_array($oDocument->get('member_srl'), $blind_list)) continue;
$oDocument->add('title','블라인드 처리된 글입니다.');
$oDocument->add('title_color','FF8D00');
$oDocument->add('content','<span style="color:#FF8D00">블라인드 처리된 글입니다.</span>');
}
}
foreach($document_list as $oDocument)
{
if(!is_object($oDocument)) continue;
if(!in_array($oDocument->get('member_srl'), $blind_list)) continue;
unset($document_list [$oDocument]);
}
}
이렇게 해보았는데 동작하지 않는군요 ㅠㅠ 도움주시면 감사하겠습니다.
"목록이나, 댓글에서 노출하고 싶지 않"다는 건 목록에서 아예 빼는 걸 의도하시는 건가요?
아니면 제목 및 내용을 다른 텍스트로 대체?