Extra Form
PHP PHP 7.1
CMS Rhymix

saiudyuahf.PNG

 

라이믹스 1.9.9.2 에서 트리거에 등록도 안한 모듈들이 사이트 메뉴추가에 나오는데

 

제가 모듈 잘못 만들줄 알고 한참 찾았는데 관련이 없는것 같더라구요

 

버그인가요 아니면 제 잘못인지.....

  • ?

    저도 1.9.9.2 인데 저런 내용은 안나오네요

    이미지콘이나, 스티커는 어디서 설치하는건가요

  • ? profile
    스티커는 모듈은 후하님이 만드신 모듈입니다.
    https://xetown.com/tips/448113

    이미지콘은 제가 개발중인 모듈입니다.
  • profile
    모듈 을 올렸네요 . 모듈 폴더 한번 보세요 ... 모듈이 설치됨
  • profile profile
    ??? 모듈 설치한다고 저기 다뜨는게 아닌걸로 알고 있는데요
  • profile
    정상입니다. XE와 공통사항으로 모듈에서 여러개 MID를 만들어 사용하는 경우 해당 모듈에서 여러개의 mid를 만들어 운영할 수 있습니다.

    board 모듈과 같은 기능이 다른 모듈에도 적용되는 것으로 이상한 상황이 아니라고 보여지구요.
  • profile profile
    라이믹스 1.9.8.1 하고 xe 1.11.5 에서는 안나오는데요.
  • profile profile

    XE최신버전입니다.

     

    menu.png

     

     

    보시면 게시판 모듈 이외에도 다른 모듈도 똑같이 작업을 할 수 있도록 목록에 나옵니다.

     

    모듈 설정에서 새로운 MID를 만들어도 되고 이렇게 메뉴에서 만들어도 되고 두가지 방법을 다 제공하는 방식이 오래전부터 제공된 방법입니다.

     

    갑자기 나타난 기능도 아니구요.

  • profile profile
    저렇나오려면 모듈에 트리거를 등록해야 되는걸로 알고 있는데요.
    모든 모듈이 무조건 나오는게 맞는건가요 ?
    제가 올린 모듈중에 도서관리 모듈은 xeschool 에서 받은 예제용 모듈입니다.
    이것 조차도 다 올려 버리는게 맞는건지...
  • profile profile
    저는 코어에서 어떤 모듈을 어떤 기술적 근거로 저기에 나오게 하는지 모르겠습니다. 개발자가 아니다보니 코드를 보고 말씀 드린건 아니고 사용자 입장에서 사용경험의 내용이구요.

    저희 스크린샷을 보시면 올라온 모듈 모두 해당 모듈에서 게시판 처럼 여러개의 mid를 생성해서 사용할 수 있는 모듈 들 입니다.

    예를 들면 포인트러쉬 모듈은 포인트로 응모해서 당첨받을 수 있는 것을 제공하는 모듈인데 게시판 처럼 여러게의 이벤트 게시판을 만들 수 있습니다.

    게시판DX 도 당연히 게시판 모듈과 똑같은 방식으로 여러개 생성이 가능하구요.
  • profile profile
    네 저렇게 메뉴추가에 기능이 있는건 알고 있는 내용입니다.
    단지 저렇게 메뉴에 추가 하려면 모듈에서 트리거로 메뉴에 등록한다고 작업을 해주어야 한다고 알고 있고요.
    말씀 드린데로 라이믹스 1.9.8.1 하고 xe 1.11.5에서는 저런 메뉴가 나오지 않습니다.
    저런 메뉴가 나오기 시작한건 라이믹스 최근 버전으로 업그레이드 하고나서 저렇네 나오게 되더군요.
    그래서 질문 드린거고요.
    저게 정상이면 모듈에 등록된 모든 모듈이 다 저기 메뉴에 나와야 된거는건데
    많으면 30개 이상의 모듈이 저기에 나오는게 과연 정상인가 싶어서 말씀 드리는겁니다.
    기존 버전에서는 없던 현상이기도 하고요.
  • profile profile
    XE 1.11.5 입니다. 굉장히 많은 모듈이 설치 되어 있지만 위 스크린샷 이외의 모듈은 올라오지 않습니다.
  • profile profile
    그렇다면 모듈이라고 다 올라오는건 아닌가 보군요.
  • profile

    메뉴모듈의  getMenuAdminInstalledMenuType 메소드를 실행하면서 메뉴를 만들 타입을 정합니다.

     

    이때 다시한번 메뉴를 만들 수 있는 리스트를 정해주는 메소드를 하나더 호출합니다. getModuleListInSitemap

     

    여기에서는 모듈 인스턴스가 있는지 없는지 리스트를 하나 정해서 그 모듈 인스턴스가 하나라도 있으면 메뉴에서 모듈 인스턴스 추가할 수 잇도록 해주는 것입니다.

     

    $output = $oModuleModel->getModuleListByInstance();
    if(is_array($output->data))
    {
       foreach($output->data as $value)
       {
          if($value->instanceCount >= 1)
          {
             $moduleList[] = $value->module;
          }
       }
    }
    
    

     

    그런식으로 조합해서 만든 데이터를 기준으로 메뉴에서 추가할 수 있도록 만들어지는 거예요

     

    즉, 비정상이 아니라 정상입니다.

     

    주석 2019-06-12 155444.png

  • profile
    사이트마다 모듈이 설치 되어있음에도 불구하고 안뜨는 곳이 있다면 그 환경에서 해당 mid를 만든적이 없었다던가 이런 여러가지 환경요인에 따라 달라지는 것입니다.
  • profile profile
    mid가 등록 되면 무조건 불러오게 되어 있는거군요.
    이게 변경 된게 최근 라이믹스에서 인가요 ?
    이게 xe 1.5 버전때 부터 쭈욱 써왔는데 이런건 이번에 처음 봤습니다.
  • profile profile

    메뉴에서 mid를 생성하는 것은 1.7 개편때 처음 도입되었습니다. 이때 게시판 생성에 낯설음 때문에 불만과 혼선이 많았습니다. 기존 방식처럼 모듈에 들어가서 mid를 만드는 것에 익숙한 시절이었죠. 그때는 이 것 때문에 잡음이 좀 있었습니다.(메뉴에서 삭제가 실제 모듈을 삭제하는 것과 바로가기를 삭제하는 것의 구분을 못하고 게시판을 날리게 되는 등....)
    살짝 끼어 들었습니다. 자세한 내용은 개발자분이 추가해 주시겠습니다~

  • profile profile
    사실 모듈 만드는 제 입장에서는 mid를 고정하고 싶은데

    이러면 mid 값이 변경이 가능하기 때문에 추가 작업을 더 해야하네요.
  • profile profile
    해당 부분은 라이믹스에서 건드린 적이 있는 것 같습니다만, 정확히는 기억이 안 나네요.

    현재 상태로도 사실 부족한 점이 있는데... mid를 생성할 수 있는 모듈이지만 아직 1개도 생성하지 않았다면 목록에서 누락될 수 있습니다. 아마 XE에서 물려받은 모듈 구조의 특성상 어떤 모듈이 mid를 생성할 수 있는지 없는지 info.xml에서 분명하게 선언할 방법이 없기 때문에 이런 궁여지책을 쓰는 것으로 보입니다.
  • profile profile
    모듈 만드는 입장에서 저런식으로 모듈이 무한정 늘어나는게 그리 좋은게 아니네요 ㅠㅠ
  • profile profile
    6년전부터 코드가 적용되어있었습니다..ㅡ.ㅡ;;
  • profile profile
    같은 서버에 라이믹스 최신 버전에서만 나오니 귀신이 곡할 노릇이네요.
  • profile profile
    기존버전이 버그엿나보죠.뭐
  • profile profile
    근데 그 기능으로 하나더 생성되게 하는것에만 집중안하셔도될거같은데요.

    물론 사용자 입장에서 어떻게 쓰는지 몰라 여러 mid를 생성하는 경우가 많지만,(출석부도 마찬가지입니다.)

    굳이 출석부와 비슷한 동작으로 만든 모듈들의 대부분 특징이 하나의 mid 만 설정가능한 형태이기 때문에 여러개를 다시 만들지 않아요. 사용자 측면에서..이미 메뉴가 있는걸로 인식할테니까요.
  • profile profile

    그렇게 거슬리신다면 https://github.com/rhymix/rhymix/issues/1063 이 패치 적용된걸 반대로 적용해두세요. 다만 버그걸리는건 저희도 어쩔수 없습니다..

     

    쿼리 부분을 건드리지 마시고. 아래의 패치

    https://github.com/rhymix/rhymix/commit/c53e956ef727d051a45bc2b9c53a390ca05d0306#diff-e3e34b86d7bb7d98ea5cb62dc9762ba9R408

    부분을 되돌리시면 될거같긴한데 저희가 이런 부분을 모든 유저분들에게 맞춰서 돌려드려야할지 의논도 필요할 것 같아서 라이믹스팀에서 이야기는 나눠봐야할 것 같네요. 근데 이것도 질문자님께서 만드시는 모듈을 사용하는 사람들마다 다 저렇게 수정되어야 할거고 환경이 다 다르긴해서요..

  • profile profile
    거슬리긴하는데 일단 제가 모듈 설치할때 만들어 놓은 mid 빼고는 작동 안하게 조치하는게 합리적인것 같네요.
    답변 감사합니다.