질문/조언질답게시판
Extra Form
PHP PHP 7.2
CMS XpressEngine

XE 일별 월별 총 회원 방문자 수 집계 모듈이 있나요?

없다면 어떻게 해볼 수 있을까요?

  • profile
    애드온에서 기본 카운터 애드온을 실행하시면 그날부터 통계가 집계됩니다.

    불확실한 정보이기에 구글애널리틱스 등등을 사용하시는 것을 추천합니다.
  • profile

    서버단에서 방문자 통계를 작성하는 모든 모듈이나 애드온은 사이트가 느려지고 서버 과부하를 일으키는 주범입니다.

     

    윗분 말씀대로 구글 애널리틱스 쓰세요.

  • profile ?
    비회원 말고 회원만 집계하려고 합니다.
    애널리틱스는 회원만을 집계하기 어렵지 않나요?

    이미 집계된 로그인 기록 모듈을 통해서
    분류를 해보는 방법도 있을 듯 한데

    회원만이 집계가 되는게 핵심입니다!
  • ? profile
    회원인 경우에만 애널리틱스 코드를 노출시키는 방법이 있겠네요.
  • profile ?
    아니면

    <tr loop="$log_list => $no, $log">
    <td cond="listSettingUserId">{$log->user_id}</td>
    <td class="date" cond="$listSettingDate">{zdate($log->regdate, 'Y-m-d H:i:s')}</td>
    </tr>

    이렇게 로그가 출력이 되는 모듈에서

    loop 안에서 날짜랑 회원 ID 중복검사를 해서
    카운트를 추출 할 수도 있지 않을까요?
    방법은 생각이 나는데 구현방법이 좀 실력이 부족합니다...
  • ? profile
    사용되는 레이아웃 상단에
    <[email protected]($is_logged)-->
    구글 애널리틱스 코드
    <[email protected]>
  • ? profile
    이미 기록되고 있는 것이 있다면 가능하긴 하겠네요. 단, 쿼리가 꽤 복잡해지기 때문에 관리자만 볼 수 있는 화면 어딘가에 표시하셔야 합니다. 사이트 메인에 "오늘 방문한 회원 ○명" 이런 식으로는 안될 거예요.
  • profile ?

    캡처_2020_06_22 1.png

    캡처_2020_06_22 2.png

     

    우선   https://xe1.xpressengine.com/index.php?mid=download&package_id=18905882

    이 로그인기록 모듈을 기반으로 커스텀 중입니다.

     

    loginlog.admin.controller.php 에서 수집에 대한 코드를 발견했는데,

     

    foreach 문을 통해 그룹을 검사하는게 있던데

    이런 형태로

     

    DB에 Regedate 컬럼을 중복 검사해서

    중복되면 수집을 안함으로

    return $this->makeObject();

    이거 날려주면 될거같은데

     

    DB에 컬럼을 반복 돌려서 접근을 어떻게 작성해야할지랑

    어떻게 조건을 걸지가 조금 막막합니다.

     

    foreach문 이랑 친분이 너무 없는데

    약간의 팁좀 부탁드립니다!

     

    ---

     

    추가로 다시보니 현재는 regedate에 초까지 있는 듯한데

    일짜 까지만 동일한지 검사해야 할 것 같습니다.

     

  • profile ?

    답변 정말 감사합니다.
    다만, 저는 관리자 페이지에서
    일별 방문회원
    월별 방문회원을 중복 로그인 기록을 제외하고

    오로지 한 id당 하루 1회 기준으로 출력하려고 합니다.

    현재 https://xe1.xpressengine.com/index.php?mid=download&package_id=18905882
    이 모듈을 커스텀 해보는 중이며
    이 모둘 관리자페이지에 아예 띄워버릴까 싶습니다.

    애널리틱스로 이 설계가 가능할지가 고민이 더 깊어집니다 ㅠㅠ