XE

XE 레이아웃에서 checkbox의 설정 사용법

by 보석 posted Feb 28, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄


질문


info.xml에서 체크박스로 된 구문을 작성합니다.


info.xml

<var name="wdg_view" type="checkbox">

<title xml:lang="ko">출력 여부 설정</title><title xml:lang="en">Widgets View</title>

<options value="notice"><title xml:lang="ko">공지사항</title><title xml:lang="en">Notice</title></options>

<options value="recent"><title xml:lang="ko">최근글</title><title xml:lang="en">Recently Articles</title></options>

<options value="cmt"><title xml:lang="ko">최근댓글</title><title xml:lang="en">Comment</title></options>

<options value="loca"><title xml:lang="ko">현재위치표시기</title><title xml:lang="en">Location</title></options>

<options value="cal"><title xml:lang="ko">달력</title><title xml:lang="en">Calendar</title></options>

<options value="tag"><title xml:lang="ko">태그</title><title xml:lang="en">Tag</title></options>

<options value="clock"><title xml:lang="ko">시계</title><title xml:lang="en">Clock</title></options>

</var>


설정에서 notice를 체크하면(예를 들면 이런 식으로 wdg_view=='notice' 이면) 레이아웃에서 <div id=notice> 가 보이게 하고 싶습니다.


implode 배열을 써서 해당 항목을 출력하는 것까진 되는데 체크박스는 무조건 배열로 나타내는 것 밖에 안되는 지요?

<div id=notice cond={$layout_info->wdg_view=='notice'}> 이렇게 작성했는데 안되더라고요.


체크한 항목만 보여지게 하고 싶은데 어떻게 하나요?

보여져야 하는 레이어는 한 군데 모여있는 것이 아니라 레이아웃의 군데 군데 띄엄띄엄 있습니다.


ps. 

<block cond="$layout_info->wdg_view">{@ $var = implode(",",$layout_info->wdg_view)}{$var}</block>

이런 implode는 체크박스를 사용하면 항상 사용하는 코드 앞에 써놔야 하는 건가요?


위 식대로 표현하려면 좀 더 편하게 작성하는 방법이 없나요?




답변


<div id="notice"|cond="in_array('notice', $layout_info->wdg_view)">

이렇게 하면 공지에 체크했을 경우 id생성되고

체크하지 않았을 경우는 id생성 안됩니다......

 

<div id="notice" cond="in_array('notice', $layout_info->wdg_view)">

이렇게 하면 체크여부에 따라

div자체가 출력/비출력됩니다.......

 

사용하는 함수는 어떤 목적을 가지고 어떻게 사용하느냐에 따라

사용될 수도 있고 안될 수도 있습니다......

그건 코드를 작성하는 사람의 마음이겠죠.....

예를 들면

간단히 하나의 함수를 사용하면 되는 것을

그 함수의 사용법을 모르거나 존재자체를 모르면

불필요한 코딩을 수십줄 사용하는 경우도 있습니다.....

아는게 힘이죠.........