글 작성시 자동으로 이동하는 코드
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.3 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
게시판에서 글을 쓰면 바로 특정 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;
}
댓글 23
저번에 테스트계정으로 로그인한게 아직도 로그인이 되네요. 글 하나 썼는데 2개씩 등록되고 이상하네요.
아 그리고 글 하나 썼는데 2개씩 등록되셨나요? 혹시 등록 버튼을 두번누르신 것은 아닐까요?
간혹 같은 글이 2번씩 올라오는 경우가 있는데 어떤 경우인지 모르겠어요. 제가 해볼땐 한번도 발생을 안해서요.
2개가 등록되지는 않지만 같은 글이 2번 출력하는 것 같습니다.
아.. 하나는 글 본문이고 아래는 목록이군요.
지금 글 작성후 본문이 보이는 거 보니까
url = current_url.setQuery('mid',mid).setQuery('document_srl',document_srl).setQuery('act','');
이 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;
}
위 함수가 지금 목적을 가지고 만든 함수라고 하셨습니다. 이 함수가 최소한 지금 글쓴 직후의 화면에서 사용할 수 있는 상태라야 위 코드가 이상이 있던 없던 작동을 하겠죠.
지금 복사해서 붙여넣으신 저 코드가 지금 어디 파일에 있는지 확인하시고
저파일을 어디서 로딩을 하게 코드가 한줄이 쓰였는지 등을 확인하셔야 합니다. 만약 저 함수가 있는 파일 자체를 불러오는 코드가 삭제 되었면??
아니면 별도 파일이 아니고 어딘가에 저 코드를 포함시켰는데 언젠가 그 부분이 삭제되었다면??
이런 의심적인 부분을 제거해 나가야 코드가 사용이 가능한 상황인데 의도대로 작동이 안하는 건지 파악이 가능합니다.
가장 기본적인 확인 과정을 거쳐서 예상의 시나리오 중 하나씩 지워갈 수 있는 것이죠.
https://github.com/rhymix/rhymix/blob/develop/modules/board/tpl/filter/insert.xml
해당 함수는 board 모듈의 insert 필터에서 호출하고 있습니다. 이게 호출되지 않는다는것은 글 작성시 insert 필터가 사용되지 않고 있다는 것입니다. 이를 확인해보시려면 글 작성시 새로고침이 일어나는지 확인해보시면 됩니다. 기본적으로 필터 사용시 exec_xml을 통해 서버에 요청을 보내므로 글 작성만으로는 새로고침이 없어야 정상입니다.