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

윤삼
Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
댓글 12
인가요?? ㅎㅎ
공유 감사합니다!
이 함수가 생각보다 많이 안 알려진 것 같더라구요.
물론 필요가 있어야 알려지기도 하고 그랬겠지만요.
이거 말씀이시죠?
여기에도 transWidgetCode 함수가 들어가 있는 거예요?
어쨌든 링크 내용만 봐서는 그 안에서 transWidgetCode 함수를 쓰는 것도 가능하겠네요?
이 자료는 아니구요. 공홈에 있어요.
https://xe1.xpressengine.com/index.php?mid=download&package_id=22753403
코드를 열어보진 못했는데요. 외부파일 자체를 인클루드 해서 위젯으로 변환해서 일반 위젯페이지에서 위젯으로 사용 가능하게 해주는 신기한 자료더라구요.
같은 방식인지는 모르겠요.