Extra Form
PHP PHP 7.3
CMS Rhymix 2.0

 회원 정보 보기 페이지에서 결제 내역 관리 항목을 만들었습니다. 

 

 가령 멤버 저장글 보기의 경우 주소는 아래와 같습니다.  main은 현재 메인 페이지 주소값입니다. 

사이트주소/index.php?act=dispMemberSavedDocument&mid=main

 

 정상노출됩니다. 

 

 그런데 제가 만든 모듈에서 

 사이트주소/index.php?act=dispIamportManage&mid=main

 

호출하면 해당 스킨의 파일을 못찾고 Not Found template File 에러를 발생시킵니다. 

 

 이게 모든 사이트면 문제가 없는데, 몇 몇 사이트에서만 해당 버그가 발생합니다. 

 라이믹스 설정도 똑같고, 심지어 호스팅사도 같은 곳인데 종종 에러가 발생합니다. 

 

 이 경우 어떤 부분을 찾아보면 좋을지, 라이믹스 고수님들의 조언 부탁드립니다. 

 

 감사합니다. 

  • Lv3
    해당 모듈의 mid값을 가지고 있는 주소에서는 잘됩니다.
    가령 mid=main 이 아닌, 해당 모듈로 생성된 mid값 에서는 해당 메소드가 당연히 잘 호출됩니다;
  • Lv12
    mid 는 고유의 값으로 여러모듈이 공유할 수 없습니다.
  • Lv36

    dispMemberSavedDocument처럼 내 모듈이 아닌 다른 mid에서 호출하는 액션은

    module.xml에서 해당 액션에 standalone="true" 옵션을 주어야 안정적으로 작동합니다.

    이 옵션이 없을 때는 짧은주소 사용 여부, route 선언 여부 등

    환경에 따라 오락가락하는 경우가 있습니다.

     

    원칙적으로는 이런 식으로 호출해서는 안 되는데 회원모듈 때문에 봐주다 보니

    자꾸 그런 식으로 만드시는 분들이 늘어나네요;;;

  • Lv3
    회원 메뉴가 어느 페이지에서 호출될지 모르다보니, 그렇네요... 강제로 미드값을 할당해서 이동 시켜버려야 될지 고민을 해봐야겠습니다.
    standalone="true" 을 줘도, 작동을 안하네요 댓글 주셔서 감사합니다!
  • Lv36

    액션은 정상적으로 호출되는데 스킨만 못 찾는다면 해당 mid의 스킨 설정과 혼동을 일으키고 있을 가능성도 있습니다. 게시판 스킨 폴더에서 님 모듈 스킨을 찾고 있다거나, 아니면 게시판 스킨의 특정 설정값이 님 모듈의 설정값 이름과 겹쳐서 영향을 준다거나... 혹시 setTemplatePath()를 init()에서 일괄적으로 하고 계시다면 각각의 액션 하단에서 setTemplateFile()과 나란히 써 보세요. init()도 어떤 때는 호출되고 어떤 때는 안 되고 무척 일관성이 없는 기능 중 하나입니다.

     

    물론 강제로 mid값을 주는 것이 가장 이상적이기는 합니다. 다른 모듈에 얹혀서 돌아가는 코어의 회원 모듈과 커뮤니케이션 모듈도 2.1 또는 그 후 버전에서는 강제로 mid를 할당하는 방식으로 바꿀 예정입니다.

  • Lv36 Lv3

    감사합니다! 기진곰님 덕분에 해결했네요 , 바로 위에서 setTemplate 해서 경로를 확정지어주니 해결되었습니다! 감사합니다!

     이후, 코어 수정되는 방향을 보고 저도 기존 모듈들을 수정해야겠습니다!

  • Lv3 Lv36

    네, standalone 액션은 두 개의 모듈을 동시에 사용하려다 보니 항상 충돌의 가능성이 있습니다. 예전에 이상하게 설계해 놓은 것들은 점차 고쳐나가야지요...