포럼
모듈 확장에 대한 질문입니다
2012.07.12 03:12
이제 XE를 만지기 시작한지 2주 좀 넘은 초보입니다.
정확하게 하고픈 일은 수퍼 관리자가 아닌 사이트 관리자가 멤버 관리, 배너관리 및 포인트 관리를 하게 하려고 합니다.
그런데, 관리자(admin)으로서 멤버 관리나 포인트 관리에서 현재 member나 admin 모듈에서 보여주는 멤버리스트나 포인트 관리 품목과 정책을 현 관리자(super admin)에서 보는 것과 다르게 구현하고 싶습니다. 그러나, 코어, admin, member 등의 모듈 코드는 건드리지 않을려고 합니다. 코어가 업글돼도 작동하게끔 하고 싶습니다. 나중에 지금 개발하는 앱을 다른 사람이 관리하게 되더라도 코어나 모듈들이 업글되어서 작동이 안되는 불상사를 막고 싶네요. ㅡㅡ"
현재 생각하고 있는 디자인은 member, admin 및 point 모듈들을 memberex, adminex 및 pointex로 확장(extended)시켜서 siteMember, siteAdmin 및 sitePoint이라는 모듈들을 만들어서 적용하고 싶습니다.
근데, 모듈 확장이 제가 하고자 하는 것에 적용하는 것이 맞는지 궁금합니다. 아님, 다른 방법이 있는지요?
여러분들의 조언 부탁드립니다.
댓글 5
-
라르게덴
2012.07.12 20:44
-
*별로*
2012.07.13 04:03
빠른 답변 감사합니다.
확장을 하려고 했던 이유는 회원 부분에서 남/여 내지 다른 항목을 추가하여 사이트 관리자가 분류 관리하길 원합니다. 사실 꼼수이긴 하지만, 회원 관리 부분을 그대로 유지하고 항목만 바꾸길 원하기 때문에, 새 모듈에서 새 함수들을 만들기 보다는 코어의 회원 함수들을 그대로 쓰고 싶어서 입니다 (가능한지 모르지만).
본래는 코어의 코드를 바꿔서 원하는대로 고쳐 볼려고 하였는데, 코어가 설치한지 이틀만에 1.5.2.5에서 1.5.2.7으로 업글되는 것을 보고, 다른 모듈을 업글하다가 쉬운 설치에서 코어가 자동으로 업글되면, 완전 망하겠다 라는 생각이 들어서 이런저런 궁리 끝에 본문과 같은 결론에 이르렀는데, 가능하지도 모르고 헤메고 있습니다. 모듈 확장에 대한 설명이 wiki.xpressengine.net에 있는거 같은데, 링크를 클릭하면 권한이 없다고 나와서. ㅎㅎ
아, 그리고, 모듈이 팩키지화 하는것도 가능하지 모르겠습니다. 알려주세요. 앱에만 관련 있는 siteMember, siteAdmin, sitePoint등등 모듈들이 한 모듈 폴더안에 서브 모듈로 생성이 가능한지 궁금합니다.
-
Xiso
2012.07.19 12:25
저의경우, 클라이언트에게 필요한 관리기능만 제공하는 관리자모듈을 따로 만들어서 사용중입니다.
rewrite rule을 수정하여 site.com/admin 입력시
site.com/?module=office
형태로 이동되게하여, 관리하게끔 하고있습니다.
-
*별로*
2012.07.22 09:52
답변 감사합니다.
rewrite도 한 방법이겠네요. 연구하다가 결국 모듈을 새로 만드는 쪽으로 가닥을 잡았습니다.
-
Xiso
2012.07.22 15:24
넹 그렇게하시고 룰을 수정하심이 좋을것같습니다! (__)
아니면, 애드온으로 트리거를 거는것도 하나의 방법이지요.
if(Context::get('module') == 'admin' && !$logged_info->member_srl != 4)
이경우 리프래시를 한다던지.. 그럼 서버이동시에도 일일이 수정할필요가 없지요..
그냥 제 생각인데요. 확장보다는 그냥 모듈로 제작하시는게 좋지 않을까 하네요. 위 요건 중 부가적으로 사이트 관리자가 관리하고 싶다는 내용에 대해서는 확장시켜도 좋을법하지만 보는것을 다르게 구현하겠다고 하신다면 확장으로가는것보다 새롭게 제작하면서 기존 자원(DB, 트리거, 주요처리함수 연계)을 이용하시는게 나을 법 합니다. : )