XE – 게시글 등록/수정 할때 자동으로 페이지 캐시파일재생성

 

 

게시글 수정 후 액박

0655.PNG

 

맨날 메인페이지가서 캐시파일재생성 버튼 갈기기 귀찮다.

 

 

 

 

doRemoveWidgetCache() 함수사용

 

0659.PNG

개발자 도구로 찔러보니 있더라

 

 

 

0656.PNG

 

이 함수에 Page의 Module 고유번호를 넣으면 Page에 포함된 위젯 캐시들을 재생성한다.

 

 

 

 

 

함수 호출 후 새로고침 되는문제

0657.PNG

exec_xml 함수에 callBack 된 함수에 페이지를 재생성하도록 되어있음.

 

 

 

 

 

 

resize.problem-trollface.png

 

 

 

 

 

새 함수 생성하고 콜백함수만 제거한다.

 

 

 

 

 

등록/수정버튼 누를때 캐시파일재생성 함수호출 예약

 

 

게시글이 등록 되고나서 캐시파일을 재생성해야함.

Jquery Cookie를 사용하여 removeWidgetCache 쿠키를 생성한다. 다음페이지에 파라메터 넘기는 방법도 있지만 복잡해서 Skip.

 

 

 

다음 페이지가 로드될때 이전페이지에서 게시글 등록버튼 누를때 생성된 removeWidgetCache 쿠키를 체크한다.

쿠키가 존재할경우 removeWidgetCache() 함수 호출. XE 위젯 페이지에 포함된 위젯 캐시파일이 재생성하고 쿠키를 삭제한다.

 

removeWidgetCache() 함수 module_srl 메소드에는 123456 대신 캐시파일을 재생성할 위젯페이지의 고유 ID를 넣으면 된다.

 

모듈 고유 ID알아내는 방법은 [XE 관리자 – 페이지 관리] 에서 해당 Widget Page의 모듈이름을 잘 기억해뒀다가

데이터베이스 관리자에서 xe_modules 테이블에서 mid 칼럼에 기억해둔 모듈이름으로 찾던 Search 때려서 찾던해서, 나온 라인의 module_srl 칼럼의 값이 해당 모듈의 고유 ID값을 넣으면 된다.

 

 

0664.PNG

 

전에 만들었던 [페이지를 벗어날때 확인창 띄우기] 코드를 수정하여 사용했다.

더 이상의 자세한 설명은 생략한다.

 

 

 

 

 

 

아, 참고로 관리자만 된다……

 

필자처럼 XpressEngine을 블로깅용도로만 사용한다면 매우 유용한 팁이다.

글 등록, 수정 후 캐시파일 재생성하는 번거로움을 덜어줄 수 있을것이다.

 

게시글 등록이벤트가 발생될때 XE내부에서 캐시를 비우도록 볶을수도 있겠는데.. 다음기회에…

 

 

 


 

참고

 

 

 

 

 

 

Join the Conversation

4 Comments

  1. 코드에 사용될 스트링은 따로 언어팩을 만들어둬서 확장성 증진(?)을 도모해봅시다.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.