Q&A

모듈에서 주소 관련 오류 입니다.

2022.03.11 11:08
273
0
CMS/프레임워크 Rhymix 2.0
개발 언어 PHP 7.3
문제 페이지 주소 비공개 (작성 후 5일 경과)

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

 

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

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

 

 정상노출됩니다. 

 

 그런데 제가 만든 모듈에서 

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

 

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

 

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

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

 

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

 

 감사합니다. 

댓글 7

  • 2022.03.11 11:14 #1663535
    해당 모듈의 mid값을 가지고 있는 주소에서는 잘됩니다.
    가령 mid=main 이 아닌, 해당 모듈로 생성된 mid값 에서는 해당 메소드가 당연히 잘 호출됩니다;
  • GG
    2022.03.11 12:00 #1663541
    mid 는 고유의 값으로 여러모듈이 공유할 수 없습니다.
  • 2022.03.11 12:14 #1663549

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

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

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

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

     

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

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

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

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

     

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

  • 2022.03.11 12:53 #1663571

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

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

  • 2022.03.11 13:22 #1663577

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