아주 이례적인 경우에 위젯 코드를 직접 컴파일해야 할 때가 있더군요.
보편적인 상황은 절대 아닐 것 같지만 개인적이고 맥락적인 필요에 의해서요.
가령 외부페이지에서 위젯 코드를 불러와야 한다든가, ajax로 불러올 수도 있겠구요.
아니면 컴파일 순서에 따라 위젯 컴파일 시점 이후에 다시 위젯 코드를 써야 할 때라든가요.
그래서 오늘 발견한 것이 위젯 모듈에 있는 transWidgetCode라는 함수입니다.
<사용방법>
1. 관리자 페이지 등에서 생성했던 위젯 코드
$widget_code = '<img class="zbxe_widget_output" widget="블라블라~" 블라="블라" />';
2. 위젯 코드 컴파일하기
$widget_content = getController('widget')->transWidgetCode($widget_code);
=> 이렇게 하면 컴파일된 결과로서 $widget_content에 담긴 html 코드를 어디서든 쉽게 사용할 수 있습니다.
... 라이믹스에서 사용해봤는데, XE에서도 되겠죠? 혹시나 해서 찾아보니 같은 함수가 있긴 하더군요 :)