CMS/프레임워크 | XE 1.x |
---|---|
개발 언어 | 사용안함 |
어제 관련 질문을 올렸는데 답변이 없어 다시 질문을 올립니다.
제가 이 질문을 하는 이유는 특정페이지(메인)에서 비로그인 대상자에게는 보여줄 필요가 없어 로그인 대상자에게만 보여주는 위젯 이 있습니다.
레이아웃에 넣지 않고 페이지에서 위젯을 직접 생성해서 넣다보니 로그인대상자에게 보여주는 조건을 걸 수가 없습니다.
그래서 이런 경우는 부득이하게 위젯스타일 쪽에 조건을 걸어서 비로그인 대상자에게는 보이지 않게 처리합니다.
궁금한건 이런 경우
위젯 스타일이 위젯 전체를 감싸게 되어 있고 위젯 스타일에 로그인 대상자에게만 허용한다는 조건으로 인해 안에 내용이 차단되는 형태인데 이때 순서가
1. 위젯실행 -> 스타일실행 -> 스타일에 따라 출력
2. 스타일실행 -> 스타일에 따라 출력 -> 위젯 실행되지 않음
전자의 경우인지 후자의 경우인지 궁금합니다.
전자의 경우라면 어차피 위젯은 모든 대상에게서 쿼리가 요청되므로 불편하더라도 레이아웃에 옮겨서 위젯코드 자체를 조건으로 차단해야 하는 것 같아서요. 조회가 굉장히 많은 페이지라면 불필요한 대상에게 실행을 줄여주면 좋을 것 같아서 입니다.
댓글 10
위젯.php->위젯실행->스킨 및 템플릿 컴파일->출력
여튼 이런구조로 동작합니다.
굳이 따지자면 전자의 경우 같아 보이네요.
위젯 모듈 내에 위와 같은 코드가 있네요.
위젯.php->위젯실행->스킨 컴파일->스타일 컴파일->출력 구조 인 것 같습니다.
위젯스타일 로그인대상
위젯 실행결과 3
위젯스타일 닫기
이런 구조에서..
1+2 의 연산과정은 거치고...
최종 출력단계에서 이 연산결과 3을 가려주는 거라는거죠?
위젯스타일.html 에서는 위젯 출력 값을 변수로 받고 있습니다.
따라서 1+2 연산을 안 하실려면 위젯에서 먼저 해당 조건을 확인해야 할 것 같습니다.
https://phiz.kr/tip/7136
가능하긴 할텐데 굉장히 많은 옵션이 들어가는 스타일이라.. 엄두가 안나네요 ㅡㅡ;
- 스킨의 xml 에 것을 참조하면 되긴 하는군요... ㅡㅡ;