포럼
모듈 인스턴스 자체의 확장변수
2014.06.11 21:05
확장변수를 사용하고 싶을 때 위젯이나 레이아웃, 스킨은 xml에서 가볍게 적어주면 되죠.
그럼 모듈 자체의 확장변수는 어떻게 하나...
info.xml도 아니공...
xml에 정의하는 것만큼은 아니지만 알고 보니 정말 편하게 되어 있네요.
모듈 인스턴스를 업데이트하는 폼과 프로시저만 있으면 되네요.
board_insert.html을 가져다가 모듈 기본 정보(mid, layout, skin등)를 제외한 나머지 항목들을 깨끗하게 정리하고
board.admin.controller.php의 procBoardAdminInsertBoard를 또 가져와서 ㅎ 마찬가지로 게시판하고 관련된 내용들을 싹 정리합니다.
이제 남은 것은 모듈_insert.html에 여느 다른 항목들처럼 하나 정의해 줍니다.
예)
<div class="x_control-group">
<label class="x_control-label" for="link_bbs_mid">연결 게시판 MID</label>
<div class="x_controls">
<input type="text" name="link_bbs_mid" value="{$module_info->link_bbs_mid}"/>
</div>
</div>
그리고 '등록'을 눌러주면, xe_module_extra_vars 테이블에 확장변수들이 input name과 value로 저장이 되네요.
가져다 쓸 때는 걍 $module_info->변수이름
예) $module_info->link_bbs_mid
성공적으로 모듈 확장변수를 만들어 쓴 후 저도 모르게 속으로...
'아 좋다'
알면 알 수록 구석구석 편리한 기능들이 많이 있네요.
module config도 있습니다.
serialize 해서 값이 들어가게 되어 있고 디비 컬럼 용량이 text 형태로 되어 있어 약 80k(?) 정도의 제약이 있다는 단점이 있긴 하지만 모듈의 공통 기본 설정을 넣는 기능으로는 요긴하게 쓰일 수 있습니다.