Maison  >  Article  >  Tutoriel CMS  >  Le thème Discuz voit le principe de mise en œuvre et la solution à la non-mise à jour

Le thème Discuz voit le principe de mise en œuvre et la solution à la non-mise à jour

咔咔
咔咔original
2020-04-30 15:23:042172parcourir

Le contenu principal de cet article :

Solution au problème selon lequel les vues du sujet Discuz ne changent pas ou ne changent pas avec le nombre de messages de réponse

Si vous êtes un Développeur Discuz novice, vous pouvez consulter l'article depuis le début

Si vous êtes webmaster, lisez simplement le résumé en bas de l'article

D'autres articles sont dans la colonne : Colonne Discuz

Questions Restaurer

cette page vers la page thème

La case rouge ci-dessus représente les pages vues du thème en utilisant $_G[ forum_thread][views]

Toutes les réponses ci-dessous utilisent $_G[forum_thread][replies]

pour le nombre de réponses. Cependant, le nombre de. les vues n'augmenteront pas lorsque nous actualiserons la page, mais nous le verrons lorsque le sujet répondra à un message. Le volume augmentera

Le thème Discuz voit le principe de mise en œuvre et la solution à la non-mise à jour

Ensuite, testons-le et ajoutons-en un nouveau. répondez, et nous constaterons que c’est bien le cas ! Mais le problème n'est pas si simple, veuillez continuer à lire ci-dessous

Le thème Discuz voit le principe de mise en œuvre et la solution à la non-mise à jour

Étapes de dépannage

  • Étape 1 : Nous devons confirmer le nombre de vues et de réponses Le volume est-il le même que ces deux champs

  • La deuxième étape : Il faut retracer le principe de l'augmentation des pages vues

Vérifions ensuite la première étape Question : Ouvrez le dictionnaire de la base de données pour afficher la table pre_forum_thread , nous sommes alors sûrs que les variables que nous utilisons dans le code source sont correctes

Le thème Discuz voit le principe de mise en œuvre et la solution à la non-mise à jour

Implémentation de la traçabilité Le principe de

est dans la ligne 986 du code Nous avons résolu notre premier problème, c'est pourquoi les données des pages vues. et les réponses sont les mêmes. C'est parce qu'ici J'ai porté un jugement. Si le nombre de messages de réponse est supérieur au nombre de vues du sujet, le nombre de vues sera égal au nombre de réponses

Le thème Discuz voit le principe de mise en œuvre et la solution à la non-mise à jour

Continuez ensuite à chercher le code pour mettre à jour les vues du sujet : à 1054viewthread_updateviews dans la ligne 🎜> Sur la base du sens littéral, nous pouvons tous comprendre ce que fait cette méthode, et le thème met à jour le nombre de vues. .

Les étapes pour exécuter ce code

  • Vérifiez d'abord si la fonction d'optimisation de la vue du thème d'optimisation est activée en arrière-plan

  • Déterminez ensuite la valeur de

    addviews dans la variable globale

  • Si la valeur est inférieure à 100, les données seront mises à jour à

    pre_forum_threadaddviews Ce tableau

  • Si la valeur de

    addviews est supérieure à 100, les vues de ce sujet seront effacées, puis les données seront être stocké dans pre_forum_thread Le champ vues de la table thématique

  • Il s'agit du processus de mise en œuvre de base

  • Dans ce qui précède , nous avons constaté que les vues ne seront pas stockées directement dans la table des sujets. L'avantage est d'éviter les mises à jour fréquentes de la table des sujets et d'empêcher le verrouillage de la table

Le thème Discuz voit le principe de mise en œuvre et la solution à la non-mise à jourRésumé

Me voici, je comprends tout ce que j'ai besoin de comprendre. La raison pour laquelle le nombre de vues du sujet n'augmente pas est en fait contrôlée par l'arrière-plan, car vous pouvez voir le

preventrefresh

valeur dans la première ligne du code ci-dessus pour contrôler s'il est activé ou non Pour optimiser le nombre de vues du sujet, configurez-le simplement en fonction de Kaka.

Mais en tant que développeur, la mise en œuvre d'un point de fonction doit remonter au code source. Ce n'est qu'ainsi que nous pouvons nous améliorer continuellement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn