물어보기XpressEngine

 사용자가 읽은 태그 이력을 세션에 저장한 후에 이를 기반으로 읽은 태그들과 연관된 게시물들을 출력하는 위젯을 사이트에 적용 중인데요.


문제는 연관된 게시물들을 '더 보기' 같은 기능으로 추가해서 보여줄 때 AJAX 방식으로 데이터를 받아와야 할 것 같습니다.


그런데 제가 AJAX와 관련하여 무지해서 그런지 검색하면서 찾아봤는데 XE에서 위젯은 AJAX 방식으로 못 구현하는 것 같더라구요..


exec_xml도 알아보고 했는데 과연 이걸로 위젯에서 출력하는 데이터를 받아올 수 있을까 싶구요


혹시 위젯에서 출력하는 데이터를 AJAX 방식으로 받아오는 게 가능할까요?

  • profile
    구름이 2017.09.20 16:57:36

    위젯에 js 파일이나 javascript 코드는 추가 가능하지 않나요?
    그렇다면 ajax 를 사용할 수 있을거에요.

  • ?
    GLANCEYES 2017.09.20 17:00:53
    아, 자바스크립트로만 할 수 있는 건가요? 다시 한 번 알아보고 공부해야겠네요. 알려주셔서 감사합니다!
  • profile
    웹지기 2017.09.20 17:04:39
    궁금증이 생겨서 질문드리는데요. 위젯이란게 db에 것을 쿼리해서 보관했다가 보여주는 건데 실시간으로 더 불러오는 작업을 하면 위젯의 역할인 아닌 db를 조회하는 것이 되지 않은가요??

    보통 캐시를 해서 보여주기 때문에 한 화면에 넘치면 페이지로 넘겨서 보여주는 방식을 취하던데요..
    캐시를 포기하는 방식인건가요?

    저도 예전에 무한스크롤 최신글 위젯을 써보긴 했지만... 그때는 별 생각 없이 사용해서....
  • profile
    구름이 2017.09.20 17:17:43
    위젯이 페이지에 초기 출력 될때는 DB 를 읽어서 기본 화면을 출력 해줍니다.

    여기서 최근 게시물 등에 "더보기"를 클릭했을때 페이지 전환이 없이 좀 더 많은 항목을 출력 해주고 싶다거나 한다면 .. xe 에서는 exec_json 을 이용해 해당 위젯 영역에 내용을 추가 해줄수 있습니다.
    이 경우 프로그래머의 의도에 따라 "더 읽어 오는 데이터"를 캐시화 할 수 도 있고 바로 DB에서 읽어 오는 방식을 취할 수 있을거에요.

    절대 추천은 안하지만, 일정 시간 자동으로 .. 최신글이 아닌 다른 정보를 클릭이 필요없이 갱신 해주는 용도로도 사용할 수 있을겁니다.

    조금 다른 경우지만 에디터 자동 완성 모듈의 경우 #을 입력했을때 매번 D/B를 읽어 오는 방식이 아닌 캐시 데이터를 읽어 오도록 되어있습니다.
  • profile
    웹지기 2017.09.20 17:21:37
    자동완성모듈 사이트 에러때문에 게시판 클릭시 반응이없어서 게시판에 못들어가요.
  • profile
    구름이 2017.09.20 17:25:17
    레이아웃이랑 사이트 업데이트를 했더니 그러더라구요ㅠㅠ 브라우저에서 CTRL+F5 로 캐시를 지워 보세요.
  • profile
    기진곰 2017.09.20 17:56:45

    현재 XE 구조에서 위젯 클래스의 특정 함수를 AJAX로 호출할 수는 없고요, 위젯페이지를 별도로 만들어서 그 위젯 하나 덩그러니 넣고 레이아웃을 사용하지 않도록 한 후에 그걸 불러와서 필요한 부분의 HTML만 jQuery로 추출해낼 수는 있어요.

  • ?
    GLANCEYES 2017.09.20 19:01:49
    말씀하신대로 그렇게 한 번 시도해봐야겠어요. 좋은 팁 감사합니다!

서버에 요청 중입니다. 잠시만 기다려 주십시오...