모듈을 통한 템플릿 바꿔치기가 될까요?
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 8.1 |
신규 모듈을 개발하고 있습니다.
멤버 모듈의 회원가입 폼 디스플레이 이전에 나오는 내용을 바꿔치기 하고 싶은데요,
트리거 ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $member_config); 을 사용하고 아래 명령어를 사용해도 내용이 바꿔치기가 안돼더라구요 ㅠㅠ
$this->setTemplatePath(커스텀 템플릿 경로);
$this->setTemplateFile(커스텀 템플릿 파일);
$this->setTemplateFile(커스텀 템플릿 파일);
그래서 부득이하게 애드온을 통해
if($called_position == 'after_module_proc' && Context::get('act') == "dispMemberSignUpForm")
로 사용중인데, 혹시 모듈화 할수 있는 방법이 있을까요?
댓글 2
https://github.com/rhymix/rhymix/blob/10ab65e2f4181a28a40f6035469a40b0008b10ca/modules/member/member.view.php#L253
해당 트리거 호출 이후 템플릿 파일을 지정하니 동작하지 않습니다.
https://xetown.com/tips/1556223
moduleObject.proc의 after 트리거 사용하시면 될것 같습니다.(설명 보시면 아시겠지만 after_module_proc 시점 애드온 실행전 트리거입니다)
제가 트리거를 통해 템플릿을 바꿔치기 하더라도, 어차피 마지막에 템플릿을 덮어씌어버리므로 아무런 결과를 얻을 수 없었던거군요
moduleObject.proc 트리거를 통해서 구현한다면 모든 모듈의 실행전에 제가 작성한 코드가 실행이될텐데
조건문을 통해서 signupForm일때를 찾아내야 하는건지... 부하를 최대한 줄이고싶은데 많이 어렵네요 ㅎㅎ