| CMS/프레임워크 | Rhymix 2.1 |
|---|---|
| 개발 언어 | PHP 8.4 |
<img class="zbxe_widget_output"
widget="content"
skin="slider-widget"
show_item="16"
show_row="2"
search_target="extra_vars2"
/>
위와 같이 위젯코드가 있는데
추가로 선택한 속성인
show_item="16"
show_row="2"
search_target="extra_vars2"
해당 부분이 전혀 넘어오지 않습니다.
그래서 skin.xml 에 추가해줘야 하나.. 해서
<extra_vars>
<var type="text" name="show_item">
<title>show_item</title>
<description xml:lang="ko">보여줄 아이템 목록</description>
</var>
<var type="text" name="show_row">
<title>show_row</title>
<description xml:lang="ko">몇 줄로 표시할 지</description>
</var>
<var type="text" name="search_target">
<title>search_target</title>
<description xml:lang="ko">검색 대상</description>
</var>
</extra_vars>
대충 이렇게 추가해줬지만 작동안하는 것 같습니다.
위젯 속성을 위젯스킨에서 쓸려면 어떻게 해야할까요?
아마 버전 업하면서 뭔가 엄격해진 것 같긴한데... 1.9에선 잘작동한 위젯이였고, 버전 업하니 안되네요.
댓글 4
해당 위젯의 class.php 파일에서 ( content.class.php 겠네요 )
보통은 _complie 함수 같은곳에서
$widget_info->변수명 = $args->변수명 같은 형태로
스킨에 전달해줄 변수명 ( 보통 $widget_info 로 ) 에 전달해주시면 됩니다.
답변 감사합니다. 직접 코드를 수정하는 수밖에 없나보네용.
덕분에 해결했습니다. 감사합니다.
보충설명을 하자면, 위젯코드에 넣은 변수는 스킨에 직접 전달되지 않습니다.
위젯 class에 먼저 전달되기 때문에, 위젯 class에서 다시 스킨에 전달해 주도록 해야 하죠.
그대로 다 전달해 주는 위젯은 의외로 별로 없더군요.
결국 위젯하나하나 별개로 봐야겠군요. 전 skin.xml에 따라 위젯코드 생성할 때 변수도 알아서 세팅되는 줄 알았는데, 그건 아닌가보더라구요