if($called_position == 'before_display_content' && $addon_info->load_admin = 'N') { $swc = false; $dmt = Context::get('oDocument'); $cmt = Context::get('oComment'); // 문서 내용에 금지 단어가 있다면 애드센스를 삭제 if($addon_info->denied_content == 'Y'){ $block_words = explode(',',$addon_info->denied_word_content); $count_block_words = count($block_words); foreach($block_words as $value) { if(strpos($dmt->variables['content'],$value) !== false) { $swc = true; return; } else if(strpos($dmt->variables['title'],$value) !== false) { $swc = true; return; } else if(strpos($cmt->variables['content'],$value) !== false) { $swc = true; return; } // 문서 내용에 금지 단어가 없다면 애드센스를 출력 } if($swc == false) { $footer = sprintf('<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>'); Context::addHtmlFooter($footer); return; } } }
이런식으로 작성을 했습니다.
게시글 제목과 내용에 필터단어가 있으면 출력이 안되는걸 확인했는데
댓글 내용은 필터단어가 들어가도 출력이 되더라구요, 댓글 내용을 불러오는건 어떤건지 알 수 있을까요?
검색을 해도 제가 원하는 정보가 나오질 않아서 여기다가 질문을 남겨봅니다.
지금 문서정보를 가지고 올 수 있는건
출력하려는 곳의 화면에 뿌려지는 것은 문서번호로 특정하여 해당 문서와 제목을 가지고 올 수 있습니다.
그런데 댓글은 상황이 다릅니다.
댓글은 댓글 하나를 따로 출력하는 페이지가 아니기 때문에..
댓글을 출력하는 스킨에 보시면 각 개별 댓글의 정보는 말씀 하신
oComment 에서 다루는게 맞으나..
여러개의 다른 댓글을 특정해서 정보를 가져오는 건 반복문을 통해 각각 개별 댓글의 정보를 가져오는 것입니다.
따라서 지금 애드온에서도 문서출력할때 댓글을 출력하는 것과 같은 방식으로 반복문을 돌려서 해당 문서가 가지는 댓글마다 가지는 내용값을 배열에 담은 후,
그 배열에 담긴 값을 다시 금칙어가 포함인지 비교하는 코드가 필요합니다.