Maison >Tutoriel CMS >Discuz >Comment Discuz contrôle indépendamment l'affichage des puces
Les fonctions implémentées dans cet article :
Contrôler si la boîte pop-up s'affiche ou non
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
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
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
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
.
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
puis testez-la sur la page. Le résultat ne pose aucun problème. Les deux variables sont cohérentes
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
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
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
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
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
Puis modifiez ce fichier, laissez sauter directement après être entré.
La boîte contextuelle a disparu lors de la connexion
Il y a encore des choses qu'on devrait trouver ailleurs
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!