위젯박스는 말 그대로 위젯을 담는 박스라고 생각할 수 있습니다. 위젯박스는 사이트의 화면에 출력됩니다. 사이트 관리자는 위젯박스의 편집 페이지에서 다수의 위젯을 생성한 다음, 생성된 위젯들을 위젯박스에 배치할 수 있습니다. 사이트 관리자나 개발자는 위젯박스 삽입 코드를 사용하여 화면 어디에나 위젯박스를 출력할 수 있습니다.

예를들어, 위젯박스는 사이트의 사이드바 영역에 사용될 수 있습니다. 일반적인 테마의 레이아웃을 고려해보면, 헤더와 푸터, 그리고 메인 컨텐츠 영역으로 구성되며, 사이드바가 추가되기도 합니다. 사이드바 영역은 보통 사이트 관리자가 원하는 위젯들을 자유롭게 배치할 수 있기를 원합니다. 테마 개발자가 사이드바 영역에 위젯박스의 삽입 코드를 추가해놓으면, 사이트 관리자는 사이드바 영역을 자신이 원하는대로 구성할 수 있습니다. 비단 사이드바 영역이 아니더라도 개발자가 원하는 어느 영역이든 위젯박스를 출력할 수 있습니다.

위젯박스 출력하기

위젯박스는 아래와 같은 코드로 간단하게 출력할 수 있습니다.

{{ uio('widgetbox', ['id'=>'sidebar']) }}

위젯박스는 고유의 아이디를 가지며, 위 코드는 아이디가 sidebar인 위젯박스를 화면에 출력합니다. 만약 아이디가 sidebar인 위젯박스가 아직 존재하지 않는다면, 사이트 관리자가 클릭하면 즉시 위젯박스를 생성할 수 있는 링크를 아래와 같이 출력합니다.

위젯박스[sidebar]를 찾을 수 없습니다. [바로 생성하기]

이미 sidebar 위젯박스가 존재한다면, 바로 위젯박스가 출력되며, 위젯박스 하단에 위젯박스의 편집페이지 링크가 출력됩니다.

위젯박스 생성하기

위젯박스를 출력하기 전에 미리 위젯박스를 생성할 수 있습니다. XeWidgetBox 파사드를 사용하십시오.

XeWidgetbox::create(['id'=>'sidebar', 'title'=>'사이드바', 'content'=>'');

위젯박스 삭제하기

생성된 위젯박스는 XeWidgetBox 파사드의 delete 메소드를 사용하여 삭제할 수 있습니다.

XeWidgetbox::delete('sidebar');