Q&A

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에선 잘작동한 위젯이였고, 버전 업하니 안되네요.

 

 

SKYHEE Lv. 1

댓글 4

  • 해당 위젯의 class.php 파일에서  (  content.class.php 겠네요 )
    보통은 _complie 함수 같은곳에서
    $widget_info->변수명 = $args->변수명   같은 형태로
    스킨에 전달해줄 변수명  ( 보통 $widget_info 로 ) 에 전달해주시면 됩니다.

  • @sejin7940

    답변 감사합니다. 직접 코드를 수정하는 수밖에 없나보네용.

    덕분에 해결했습니다. 감사합니다.

  • 보충설명을 하자면, 위젯코드에 넣은 변수는 스킨에 직접 전달되지 않습니다.

    위젯 class에 먼저 전달되기 때문에, 위젯 class에서 다시 스킨에 전달해 주도록 해야 하죠.

    그대로 다 전달해 주는 위젯은 의외로 별로 없더군요.

  • @기진곰

    결국 위젯하나하나 별개로 봐야겠군요. 전 skin.xml에 따라 위젯코드 생성할 때 변수도 알아서 세팅되는 줄 알았는데, 그건 아닌가보더라구요