묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[모듈개발] 레이아웃을 붙이려면 어떻게 해야하나요?
2008.08.12 20:07
http://www.zeroboard.com/17160438 이 질문과 마찬가지로 꽤나 폭넓은 질문이 되버리겠네요.
mid 없이 /?module=bookmark 처럼 접근해서 DB입력,수정,삭제 까지는 만들었는데요.
거기에 레이아웃을 붙이려먼 어떻게 해야하는지 궁금합니다.
하늘님께 여쭤보니 mid를 갖는 서비스형모듈이 되어야 레이아웃을 붙일 수 있다고 하시길레 ^^;; 약간 좌절중입니다.
어떻게 해야 서비스형모듈, 기능성모듈이 되는것인지 ... ㅠㅠ
인터페이스를 알고싶습니다.
기초적인 모듈이 작동하기 위해서
- /conf/info.xml 에다가 모듈정보 입력하고,
- /conf/module.xml 에서 Action들을 정의하고,
- /schemas/테이블.xml 로 DB스키마를 결정하고,
- /queries/쿼리.xml 로 (목록읽어오기,1개읽기,입력,수정,삭제 등) 쿼리를 만든 후,
- /모듈.class.php 에서 간단하게... checkUpdate() return false; 하고..
- /모듈.view.php 에서 view Action별 함수를 만들어서 쿼리실행하고 skin을 setTemplateFile('확장자제외한 스킨파일명')
해주니까 작동하더군요. - /모듈.coltroller.php + skin/filter + skin/js의 조합 통해서 레코드를 입력,삭제 하도록 하는데 까지는 구현했구요.
다음 단계로 어떤것이 준비되어야 서비스형모듈로 설치되고 레이아웃을 붙일 수 있는것인가요?
조언을 좀 부탁드립니다.
댓글 4
-
◀CGlink▶
2008.08.15 15:24
-
난다날아
2008.08.15 16:29
반갑습니다. 저도 모듈을 제작하며 배워나가고 있습니다.
일단, info.xml에서 모듈의 종류는 service로 지정하면 관리자모드에서 서비스형 모듈에 나옵니다.
그리고 mid를 가지도록 하시려면요. 외부페이지 모듈을 참고해보세요. 기본적인 모듈(지금 제작하시는 큰 의미의 모듈이 아니라 개개의 게시판, 외부페이지 등의 모듈을 뜻합니다.) 등록/삭제 과정을 알 수 있어요.
phpmyadmin 등으로 db에 접속해서 xe_modules 테이블을 한 번 살펴보시는 것도 도움이 될 거 같아요.
기본적으로 xe_modules 테이블에 등록되는 모듈을 다룰떄는 따로 쿼리 xml을 사용하지 않고 모듈 콘트롤러의 함수들을 이용하여 되도록 되어 있네요. -
◀CGlink▶
2008.08.16 15:11
댓글 감사합니다.
info.xml에서 <category>service</category> 로 지정한다고 서비스형에 등록되지는 않는것 같구요. 추가로 다른 작업이 동반되어야 등록될것 같습니다. bookmark예제에 이미 그렇게 되어있지만 관리자모드에 나오지는 않거든요. 그 다른작업이라는 것이 mid 및 actionForward 등록 등의 작업이 아닐까 추측하고있습니다.
안그래도 xe_modules 관련 Table들을 나름 훑어보기는 했었습니다. http://sanghoon.kr/3342
그게 벌써 일주일전이네요.ㅋㅋ ㅠㅠ
결과는 저렇게 DB에 등록이 되야한다는건 알겠는데... 그 중간과정을 모르겠는겁니다. 답답해 미침...ㅋㅋ -
◀CGlink▶
2008.08.18 13:10
BNU님의 플래너는 info.xml에 <category>service</category> 자체가 없네요.
그래도 서비스형모듈로 관리자모드에서 표시되고있으니... info.xml의 내용은 작동하는 것과는 전혀 상관이 없는것 같습니다.
말그대로 모듈에 관한 정보를 정리해두는 "인포메이션" 일 뿐인듯...
답변하시기에도 부담스럽게 구체적인 일일이 코드를 튜토리얼처럼 적는 것보다, 위에서 제가 적은것처럼 해야할일의 목차만 순서데로 짚어주셔도 어디를 파고 들어야할지 이정표는 얻을 수 있을것 같습니다.
꼬리에 꼬리를 물며 코드분석하는 삽질은 좀 줄여주실 수 있을듯한데..^^;;
좀 도와주세요.