이 글의 주요 내용:
Discus 주제 보기가 변경되지 않거나 답글 개수와 함께 변경되는 문제에 대한 해결 방법
초보 discuz 개발자라면 글을 처음부터 볼 수 있습니다
웹마스터라면 기사 하단으로 바로 가서 요약하세요
더 많은 기사는 칼럼에 있습니다:Discuz 칼럼
이 페이지는 테마 페이지입니다
위의 빨간색 상자는 $_G[forum_thread][views ]
를 사용하여 테마 페이지 보기 아래의 모든 답변은 $_G[forum_thread][replies]
를 사용합니다. 그러나 페이지를 새로 고쳐도 조회수는 증가하지 않지만
주제의 게시물에 답글을 달면 조회수가 증가합니다. 그런 다음 테스트하고 새 답글을 추가하면 실제로 그렇다는 것을 알게 될 것입니다! 하지만 문제는 그리 간단하지 않습니다. 아래 내용을 계속 읽어주세요
1단계: 조회수와 답글 수가 이 두 필드인지 확인해야 합니다
2단계: 우리는 페이지 조회수가 증가하는 원리를 추적해야 합니다
첫 번째 문제를 해결해 보겠습니다. 데이터베이스 사전을 열어 pre_forum_thread 테이블을 보면 소스 코드에서 사용하는 변수가 올바른지 확인할 수 있습니다
코드의 986라인에서 첫 번째 문제를 해결했기 때문에 페이지 조회수와 답글의 데이터가 동일하다는 판단이 이루어지기 때문입니다. 여기. 답글 게시물 수가 주제 조회수보다 크면 조회수는 답글 수와 같습니다.
그런 다음 계속해서 주제 조회수를 업데이트하는 코드를 찾으세요. 1054에서 라인에는 viewthread_updateviews 이 방법이 있습니다. 문자 그대로의 의미에 따르면 우리 모두는 이 방법이 무엇을 하는지, 즉 주제 업데이트 보기를 이해할 수 있습니다.
이 코드를 실행하는 단계
먼저 최적화 테마 뷰 최적화 기능이 백그라운드에서 켜져 있는지 확인하세요
그런 다음 전역 변수에서 addviews값을 확인하세요
If 이 값이 100보다 작으면 데이터가 pre_forum_threadaddviews 테이블
으로 업데이트됩니다. addviews 값이 100보다 크면 이 주제의 보기가 지워지고 데이터가 다음에 저장됩니다. pre_forum_thread 주제 테이블
이것이 기본 구현 프로세스입니다
위에서 페이지 조회수가 주제 테이블에 직접 저장되지 않는다는 것을 알았습니다. 토픽 테이블 잦은 업데이트 및 테이블 잠금 방지
이쯤 되면 토픽 조회수가 늘어나지 않는 이유는 사실 배경에 의해 조절되는 것 같아요. , 위 코드의 첫 번째 줄에서 볼 수 있기 때문입니다preventrefresh 값은 테마 뷰 최적화 활성화 여부를 제어합니다
Kaka에 따라 구성하면 됩니다.
그러나 개발자로서 기능 포인트의 구현은 소스 코드까지 추적되어야 합니다. 이러한 방식으로만 우리는 지속적으로 개선할 수 있습니다.
위 내용은 Discuz 테마 뷰 구현 원리 및 비업데이트 해결 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!