묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
메뉴에 없거나 메뉴가 안보이는 페이지를 열 때 스타일을 달리 적용하고자 하는데요
2015.05.29 16:12
예를 들어, 메뉴 노출은 관리자만, 접근 권한은 모든 사용자에게 있는 페이지이거나
xe 메뉴와 연결이 없는 외부 페이지로 이동할 경우에 레이아웃의 스타일을 달리 지정하고 싶은데요..
하위 메뉴가 있거나 없는 경우에는
아래처럼 어떻게 막 끼워맞춰서 구별할 수 있게 되었는데, 위와같은 경우는 응용이 어렵네요..
<ul> <li loop="$gnb->list => $key1, $val1" class="active"|cond="$val1['selected']"> <!-- 하위메뉴 없을 때 스타일 수정 --> <style cond="$val1['selected'] && !$val1['list']"> .class { ~~~ } </style> </li> </ul>
조건문을 어떤 식으로 만들어서 사용해야 할까요..? 지도 부탁드립니다 (_ _)
댓글 3
-
YJSoft
2015.05.29 16:53
-
inJin
2015.06.01 13:48
상세한 답변 감사드립니다 ^_^
그런데 첫번쨰 방법 조건문은 어떻게 만들어야할까요? 세번째 방법은 제 지식이 얕아서 이해조차 되지 않고 두번쨰 방법은 말씀하신대로 바로가기 메뉴에 같이 적용되어 레이아웃이 꼬이는 문제가 생기네요 ㅠ_ㅠ
-
inJin
2015.06.01 13:59
앗.. if 문으로 간단히 처리되네요 감사합니다!! 덕분에 해결했습니다
메뉴 노출 권한이 없거나, 메뉴에 없는 경우 모두 $gnb에 해당 mid가 등록되어 있지 않은 점을 이용, 모든 메뉴를 loop로 돌면서 현재 mid가 없으면 메뉴에 노출되지 않는 것으로 처리하면 가능하긴 합니다.
혹은 노출이 되지 않는 경우 selected가 true인 메뉴가 없는점을 이용, 모든 메뉴를 loop로 돌면서 selected가 하나도 없으면 메뉴에 노출되지 않음- 이라 해도 되지만 바로가기 메뉴는 등록된 것으로 인식하지 못할 수 있습니다.
또한 레이아웃 설정 등에서 mid를 입력받아서, (,으로 mid를 구분)
{@
$special_list = explode(",",$layout_info->설정값아이디);
$is_special = in_array($mid,$special_list);
}
로 is_special 변수를 정의한 뒤 cond="$is_special" 등으로 사용하시는 것도 가능합니다.