Q&A

모듈에서 회원 페이지 메뉴 추가

2025.02.13 08:31
126
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 8.4

모듈에서 회원 페이지 메뉴 추가하려면 어떻게 해야할까요..

 

모듈.class.php에 아래 같이 등록하고.. 스킨에 file.html 있는데.. 출력을 못하네요.

    

public function triggerAddMemberMenu($module)
    {
        $oMemberController = getController('member');
        $oMemberController->addMemberMenu('file', '파일');
    }

댓글 5

  • 2025.02.13 09:01 #1858732

    함수만 만들어 놓으면 뭐하나요. 함수를 호출하지 않으면 아무 의미가 없는 것을...
    원하시는 타이밍에 저 함수를 호출하는 코드를 작성하거나,

    아니면 적당한 시점에 자동으로 호출되도록 이벤트 핸들러(구 트리거)를 등록해야 합니다.

    예) https://github.com/rhymix/rhymix/blob/master/modules/ncenterlite/conf/module.xml#L46

  • 2025.02.13 13:47 #1858751
    와... 감사합니다.. 해결되었습니다..
    근데.. 작은 문제가 생겼습니다. 관리자 페이지 "설정 완료하기" 눌러도 계속 뜨네요 ㅜㅜ.. 안 사라지는..
  • 2025.02.13 13:52 #1858760
    영원히 완료할 수 없는 설정을 지시하셨나 봅니다...

    module.xml의 <eventHandlers> 부분과
    class의 checkUpdate, moduleUpdate 함수(존재하는 경우) 내용을 자세히 살펴보세요.
    불가능한 작업을 지시하거나, 한 쪽에서 등록한 것을 다른 쪽에서 도로 삭제하는 등
    무한루프를 돌리는 경우가 종종 있습니다.
  • 2025.02.13 14:22 #1858771
    오오.. 모듈 업데이트 체크 로직과 트리거(이벤트 핸들러) 등록 방식이 서로 충돌해서 그렇네요..
    코드 내에 트리거 등록 검사 로직과 일치하지 않아서.. checkUpdate() 함수가 계속 true를 반환하고 있었어요 ㅜㅜ..
    대단해요, 감사합니다!!!
  • 2025.02.13 14:38 #1858781
    네, 업데이트 함수에서 트리거 등록하는 방법은 라이믹스 최신 버전에서는 기피 대상이니
    module.xml에서 선언하고 다른 곳에서는 건드리지 않는 것을 추천드립니다.