Extra Form
PHP PHP 8.1
CMS Rhymix 2.x

신규 모듈을 개발하고 있습니다.

 

멤버 모듈의 회원가입 폼 디스플레이 이전에 나오는 내용을 바꿔치기 하고 싶은데요,

트리거 ModuleHandler::triggerCall('member.dispMemberSignUpForm', 'before', $member_config); 을 사용하고 아래 명령어를 사용해도 내용이 바꿔치기가 안돼더라구요 ㅠㅠ

 

$this->setTemplatePath(커스텀 템플릿 경로);
$this->setTemplateFile(커스텀 템플릿 파일);


 그래서 부득이하게 애드온을 통해 

 

if($called_position == 'after_module_proc' && Context::get('act') == "dispMemberSignUpForm")

 

로 사용중인데, 혹시 모듈화 할수 있는 방법이 있을까요?

  • profile

    https://github.com/rhymix/rhymix/blob/10ab65e2f4181a28a40f6035469a40b0008b10ca/modules/member/member.view.php#L253
    해당 트리거 호출 이후 템플릿 파일을 지정하니 동작하지 않습니다.

    https://xetown.com/tips/1556223
    moduleObject.proc의 after 트리거 사용하시면 될것 같습니다.(설명 보시면 아시겠지만 after_module_proc 시점 애드온 실행전 트리거입니다)

  • profile profile
    감사합니다 ㅠㅠ 계속 원인을 찾았는데 확실하게 이해되네요
    제가 트리거를 통해 템플릿을 바꿔치기 하더라도, 어차피 마지막에 템플릿을 덮어씌어버리므로 아무런 결과를 얻을 수 없었던거군요

    moduleObject.proc 트리거를 통해서 구현한다면 모든 모듈의 실행전에 제가 작성한 코드가 실행이될텐데
    조건문을 통해서 signupForm일때를 찾아내야 하는건지... 부하를 최대한 줄이고싶은데 많이 어렵네요 ㅎㅎ