묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
위젯 제작 관련 질문 : select-list-view 타입 표현 관련
2013.02.12 11:47
위젯 제작 관련 질문드립니다.
도움주시는 많은 분들께 항상 감사드리는 마음입니다.
위젯 제작관련 질문입니다.
만약에,
위젯의 info.xml 에서
<var id="list"> <type>select</type> <options><value>a</value></options> <options><value>b</value></options> </var>
라는 옵션이 있을 때,
이를 ooo.html에서 활용하는 방법중에 하나가,
<!--@if($widget_info->list=='a'--> <strong>A를 선택하셨습니다.</strong> <!--@end-->
이렇게 활용할 수 있지요?
질문입니다.
만약에, 옵션의 type이 "select-list-type" 일경우,
<var id="list_select"> <type>select-list-type</type> <options><value>a</value></options> <options><value>b</value></options> </var>
"A가 선택되었습니다." 라고 표현하려면 어떤 조건문을 작성해야 할까요?
<!--@if(~~~~~~~~~~~~~~~~~~~~~)--> <strong>A를 선택하셨습니다.</strong> <!--@end-->
저 '물결무늬~~~~~' 부분이 궁금합니다.
도움 부탁 드립니다!
댓글 2
-
퍼니엑스이
2013.02.12 11:59
-
oksky
2013.02.12 12:37
감사합니다! (select-multi-order가 맞았습니다ㅠ 착각했어요ㅠ) -
sejin7940
2013.02.12 12:00
info 파일에 list 형태든 list_select 형태든, info 내부에 추가한다고
자동으로 그걸 위젯페이지에서 widget_info 등의 형태로 쓸 수 있는 건 아닙니다
해당 위젯의 class.php 파일을 잘 살펴보시면
widget_info 형태로 사용하기 위해 재정의하는 부분이 포함되어있을겁니다
새로 list 항목을 추가하면 반드시 class 에서 widget_info 관련 설정도 추가해야 if 문에서 사용가능하죠
마찬가지로 list_select 도 그냥 쓸 수 없고 내부에서 재정의 되어있을겁니다.
content 위젯 같은 것의 class 파일을 잘 살펴보시면서, 게시판선택 부분 등의 소스가 이런 형태일겁니다.
해당 소스를 분석해서.. class 파일에 새로 추가해주신 뒤에 사용가능하실겁니다.
직접적인 답변은 드리기가 어렵고, 간단하게 방법론이라도 적어드렸습니다 ^^;;
-
oksky
2013.02.12 12:43
넵. 답변감사합니다^^ class 쪽으로도 넘어가있고, 000.html 쪽으로도 잘 넘어 와있었는데, 단순히 if 구문을 몰랐던 질문이었습니다ㅠㅠ 도움 감사합니다!!
select-list-type란 타입이 어디있는 건가요? XE core에서는 제공하지 않는 타입입니다.
select-multi-order 타입을 말씀하시는 거라면 아래와 같이 하시면 됩니다.
{@ $options = explode(',', $widget_info->list_select)}
<!--@if(in_array('A', $options))-->
<strong>A를 선택하셨습니다.</strong>
<!--@end-->
select-list-type의 경우 각 항목이 ,(콤마)로 구분되어 저장됩니다.