질문/조언질답게시판
Extra Form
PHP PHP 7.3
CMS Rhymix 2.x

 

게시판에서 글을 쓰면 바로 특정 url로 이동하는 기능을 만들어서 사용하고 있었는데

아마도 라이믹스 업데이트 이후 작동하지 않는 것 같습니다.

 

혹시 아래 소스에서 수정해야할 부분이 있을까요?

 

function completeDocumentInserted(ret_obj)

{

    var error = ret_obj.error;

    var message = ret_obj.message;

    var mid = ret_obj.mid;

    var document_srl = ret_obj.document_srl;

    var category_srl = ret_obj.category_srl;

 

    //alert(message);

 

    var url;

    if(!document_srl)

    {

        url = current_url.setQuery('mid',mid).setQuery('act','');

    }

    else

    {

        url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');

    }

    if(category_srl) url = url.setQuery('category',category_srl);

    url = current_url.setQuery('mid','Product_discount_code').setQuery('page','');

    location.href = url;

}

  • profile
    최근에 설치하신 PWA 자료 사용과 관련은 없는거겠죠?
    저번에 테스트계정으로 로그인한게 아직도 로그인이 되네요. 글 하나 썼는데 2개씩 등록되고 이상하네요.
  • profile profile
    PWA 자료 혹시나 해서 꺼봤는데 영향이 없네요. 위 링크가 3-4개월에 한번씩 사용하는 거라 5월달에는 분명 정상 작동했는데 왜 갑자기 작동을 안하는건지 알수가 없네요 ㅎ
    아 그리고 글 하나 썼는데 2개씩 등록되셨나요? 혹시 등록 버튼을 두번누르신 것은 아닐까요?
    간혹 같은 글이 2번씩 올라오는 경우가 있는데 어떤 경우인지 모르겠어요. 제가 해볼땐 한번도 발생을 안해서요.
  • profile profile

    2개가 등록되지는 않지만 같은 글이 2번 출력하는 것 같습니다.

    아.. 하나는 글 본문이고 아래는 목록이군요. 

  • profile profile

    지금 글 작성후 본문이 보이는 거 보니까

    url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');

    이 url 이 작동하는 것 같습니다.

     

    아니면 저 스크립트가 영향을 주지 않아도 본문을 출력할 것 같긴 합니다.

  • profile profile
    아.. 맞습니다 ㅎㅎ
  • profile profile
    네~ 이것도 사실 예전에 의뢰맡겨서 작업한 건데 언제 누구한테 맡겼는지도 가물가물해서 찾아봐야겠네요 ㅠ.ㅠ
  • profile profile
    //url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');

    잠시 주석하고 결과를 한번 비교해보세요.
  • profile profile
    어떻게 비교해야하는지도 모르겠어요^^;;;
  • profile profile
    주석하고 글 써보고 url 이동 변화가 있는지 확인이요.
  • profile profile
    지금 그렇게 했는데 똑같아요
  • profile profile
    그럼 저 함수 통째로 작동을 안하고 있을지도요...
  • profile profile
    네 그런것 같아요. 그게 실마리가 될 것 같아요.
  • profile profile
    함수 전체를 지워보세요. 혹시 디른결과가 나오는지
  • profile profile
    다 지웠는데 똑같은것 같아요. submit 버튼을 눌를때라던지 해당 함수를 로드하는 부분이 날라갔나봐요.
  • profile profile

    그건 아닐겁니다. 다른 고수분이 원인을....

  • profile profile
    그리고 위 함수가 있는 파일이 무엇이고
    어디서 어떻게 불러오고 있는지 등의 정보도...
  • profile profile
    네.. 그런데 스킨 전체를 검색해도 저 함수를 호출하는데가 없어요 ㅋ 제가 뭔가 놓치고 있는듯해요.
  • profile profile

    함수 호출이 문제가 아닙니다. 저 함수가 들어가 있는 파일이 무엇인지 그리고 그 파일을 어디서 어떤 방식으로 로딩하는지 밝혀주세요. 저건 함수를 호출하는 방식이 아닐 겁니다. 글 이 작성이 되면 저게 호출될겁니다.

     

    지금 본문에 작성하신 함수가 실제 어떻게 로딩되어 정상적으로 사용될 수 있는 상황인지 확인해 주셔야 할 것 같은데요.

  • profile profile
    제 수준에서 살짝 넘어가는 것 같아요 ㅜ
    고민해주셔서 감사합니다!
  • profile profile

    function completeDocumentInserted(ret_obj)

    {

    var error = ret_obj.error;

    var message = ret_obj.message;

    var mid = ret_obj.mid;

    var document_srl = ret_obj.document_srl;

    var category_srl = ret_obj.category_srl;



    //alert(message);



    var url;

    if(!document_srl)

    {

    url = current_url.setQuery('mid',mid).setQuery('act','');

    }

    else

    {

    url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');

    }

    if(category_srl) url = url.setQuery('category',category_srl);

    url = current_url.setQuery('mid','Product_discount_code').setQuery('page','');

    location.href = url;

    }


    위 함수가 지금 목적을 가지고 만든 함수라고 하셨습니다. 이 함수가 최소한 지금 글쓴 직후의 화면에서 사용할 수 있는 상태라야 위 코드가 이상이 있던 없던 작동을 하겠죠.

    지금 복사해서 붙여넣으신 저 코드가 지금 어디 파일에 있는지 확인하시고

    저파일을 어디서 로딩을 하게 코드가 한줄이 쓰였는지 등을 확인하셔야 합니다. 만약 저 함수가 있는 파일 자체를 불러오는 코드가 삭제 되었면??

    아니면 별도 파일이 아니고 어딘가에 저 코드를 포함시켰는데 언젠가 그 부분이 삭제되었다면??

    이런 의심적인 부분을 제거해 나가야 코드가 사용이 가능한 상황인데 의도대로 작동이 안하는 건지 파악이 가능합니다.

    가장 기본적인 확인 과정을 거쳐서 예상의 시나리오 중 하나씩 지워갈 수 있는 것이죠.

  • profile

    https://github.com/rhymix/rhymix/blob/develop/modules/board/tpl/filter/insert.xml

    해당 함수는 board 모듈의 insert 필터에서 호출하고 있습니다. 이게 호출되지 않는다는것은 글 작성시 insert 필터가 사용되지 않고 있다는 것입니다. 이를 확인해보시려면 글 작성시 새로고침이 일어나는지 확인해보시면 됩니다. 기본적으로 필터 사용시 exec_xml을 통해 서버에 요청을 보내므로 글 작성만으로는 새로고침이 없어야 정상입니다.

  • profile profile
    onsubmit="return procFilter(this, window.insert);" 요렇게 들어가 있네요.
  • profile profile
    새로 고침은 없는 것 같아요! 감사합니다!