Maison >Tutoriel CMS >Discuz >Comment Discuz contrôle indépendamment l'affichage des puces

Comment Discuz contrôle indépendamment l'affichage des puces

咔咔
咔咔original
2020-05-04 00:41:382513parcourir

Les fonctions implémentées dans cet article :

Contrôler si la boîte pop-up s'affiche ou non

Scénarios d'utilisation des fonctions

Dans un article précédent, discuz implémente l'enregistrement et la connexion automatiques. Mais nous ne voulons pas que ce message soit diffusé.

J'ai fait une recherche approximative sur Internet, et certains ont dit qu'il pouvait être réglé en arrière-plan, mais après avoir jeté un œil au dos, j'ai découvert que le réglage n'était que pour certaines scènes fixes.

Ensuite, nous pouvons écrire une méthode d'affichage adaptée à notre projet

Analyse de l'implémentation de la boîte pop-up

Toute personne ayant utilisé discuz depuis un certain temps sait que la réception La boîte pop-up est en fait déterminée par la méthode d'arrière-plan showmessage.

Nous avons utilisé du code pour tracer cette méthode dans le fichier upload/source/function/function_core.php, qui concerne la ligne 1424

Comment Discuz contrôle indépendamment laffichage des puces

Ensuite, nous avons tracé cette méthode dans dshowmessage

Le fichier final de cette méthode est dans upload/source/function/function_message.php ici

Ensuite, on tire le code jusqu'à la fin et vous pouvez voir une show_messge variable et une adresse de modèle chargées

Comment Discuz contrôle indépendamment laffichage des puces

A ce moment, nous trouverons l'emplacement de ce modèle : upload/template/default/touch/common/showmessage.htm

Dans ce modèle, nous pouvons voir une variable comme show_message.

Comment Discuz contrôle indépendamment laffichage des puces

Afin de confirmer que le show_message dans le template est cohérent avec le show_message dans le fichier PHP, faisons un test

Modification : upload/source/function/function_message.php   Ligne 238

Comment Discuz contrôle indépendamment laffichage des puces

puis testez-la sur la page. Le résultat ne pose aucun problème. Les deux variables sont cohérentes

Comment Discuz contrôle indépendamment laffichage des puces

Implémentez votre propre méthode d'affichage

Après le test ci-dessus, nous avons appris que le fichier upload/source/function/function_message.php Le show_message à la ligne 238 est cohérent avec le show_message du modèle upload/template/default/touch/common/showmessage.htm.

Ensuite, nous pouvons déclarer une variable. Si vous souhaitez afficher votre propre style, déclarez une variable puis contrôlez-la dans le modèle

Ce qui suit est un cas KaKa : tant que vous l'avez ce besoin, la solution de KaKa Ka peut résoudre votre problème à 100%

Ce code permet de déterminer si l'utilisateur est enregistré, et si c'est le cas, de se connecter directement. (Pas besoin de vous inquiéter ici, le cas de Kaka provient du système d'origine.)

Vous pouvez voir que j'ai ajouté une nouvelle variable dans showmessage appelée is_login, et la valeur est 1

Comment Discuz contrôle indépendamment laffichage des puces

Puisque nous devons utiliser cette valeur dans le modèle, emboîtons le pas et déclarons is_login comme variable globale dans le fichier upload/source/function/function_message.php

Comment Discuz contrôle indépendamment laffichage des puces

Ensuite, avec cette valeur, vous pouvez l'utiliser dans le modèle upload/template/default/touch/common/showmessage.htm

Ajoutez-vous dans ce Si cela suffit

Comment Discuz contrôle indépendamment laffichage des puces

Il existe également un moyen particulièrement simple de contrôler la saisie à la ligne 239 du modèle upload/source/function/function_message.php

Comment Discuz contrôle indépendamment laffichage des puces

Alors, que faut-il faire en ce moment ! Créez simplement ce modèle

Copiez le fichier showmassge dans le répertoire upload/template/default/touch/common

Comment Discuz contrôle indépendamment laffichage des puces

Puis modifiez ce fichier, laissez sauter directement après être entré.

Comment Discuz contrôle indépendamment laffichage des puces

Obtenir l'effet

La boîte contextuelle a disparu lors de la connexion

Comment Discuz contrôle indépendamment laffichage des puces

Il y a encore des choses qu'on devrait trouver ailleurs

Comment Discuz contrôle indépendamment laffichage des puces

Résumé

Après avoir résumé cet article Une fois que tous les fichiers ont été modifiés ! Si vous souhaitez utiliser votre propre modèle personnalisé, vous pouvez l'utiliser directement

is_login est un identifiant de votre modèle personnalisé

showmessage('login_succeed', 'forum.php',['username'=>$username,'is_login'=>1],array('showdialog' => 1));

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