묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
위젯에서 권한체크해도 캐쉬를 사용하면
2015.03.15 16:08
위젯에서 아래와 같이 체크하여 로그인하지 않은 사람에게는 내용이 보이지 않게하였는데,
(접속회원목록, 최신글 등)
function proc($args) {
if(!Context::get("logged_info")->member_srl) return false;
위젯에서 캐쉬를 사용하지 않으면 (widget_cache="0") 정상 작동하지만,
캐쉬를 사용하면 (예, widget_cache="2") 로그인하지 않은 사람에게도 위젯의 결과가 노출이 됩니다.
캐쉬를 사용하면서 (별도의 페이지를 만들지 않고) 이 문제를 해결할 수 있는 방법이 있는지요?
<자문자답>
우선 레이아웃에서 위젯 위 아래에
<!--@if($is_logged)--> 와 <!--@end--> 를 씌워주는 것으로 해결은 했지만,
관리자페이지 레이아웃설정에서, 로그인하지 않아도 보여주는 위젯과 그렇지 않은 여러 위젯들을 한묶음으로 전송할 때 그 묶음의 모든 위젯이 안보여 버리는 것이 문제가 있지만 캐쉬를 해결하기 전까지는 달리 방법이 없는 것 같습니다.