Fork me on GitHub






Plugin smarty : nombre de visiteur par module (block qui est en ligne)
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
Messages: 2526
Voici un exemple concret de hack transformé en plugin smarty.

Afficher le nombre de visiteur par module dans le block "qui est en ligne".
Vous pouvez voir son fonctionnement sur mon site : http://www.dugris.info

Pour l’utilisation de ce plugin, il est nécessaire de corriger une partie du code de la fonction permettant l'affichage du block "qui est en ligne" :

1) Dans le fichier /modules/system/blocks/system_blocks.php

Remplacer la ligne 51

$online_handler->write($uid$unametime(), 0$_SERVER['REMOTE_ADDR']);


par
$online_handler->write($uid$unametime(), 1$_SERVER['REMOTE_ADDR']);


Car aucun module ne porte l’ID "0", "1" correspond au module system


2) Pour mettre la fonction en adéquation avec le plugin smarty

Dans le fichier /modules/system/blocks/system_blocks.php

Modifier la ligne 39
$online_handler->gc(300);


par
$online_handler->gc(60);


3) Ensuite pour un affichage simple du nombre de visiteur par module :
Ajouter dans le fichier /modules/system/templates/blocks/system_block_online.html
<{OnlineByModule}>


Les paramètres de configuration :

3.1.) Limiter le nombre de caractère à afficher pour le nom du module
<{OnlineByModule length=25}>


3.2.) Limiter l’affichage à une liste de module
La liste des modules correspond au nom des dossiers des modules
<{OnlineByModule modules="news|mydownload"}>


3.3.) Récupérer le résultat dans une variable smarty pour traiter celle-ci dans le template
<{OnlineByModule assign=onlinebymodule}>

foreach (
$onlinebymodule as $bymodule ) {
    echo 
$bymodule [‘module’] ;        // retourne le nom du module
    
echo $bymodule [‘counter’] ;        // retourne nombre de visiteur du module
}



Vous pouvez bien évidement cumulé les paramètres !

Par exemple : nombre de caractère limité à 15 pour les modules news, mydownload, edito, formulaire
<{OnlineByModule length=15 modules="news|mydownload|formulaire|edito"}>


Pour récupérer les mêmes paramètre dans la variable infoenligne
<{OnlineByModule length=15 modules="news|mydownload|formulaire|edito" assign=infoenligne}>

Attacher un fichier:


zip smarty-plugin-OnlineByModule.zip Taille: 3.87 KB; Hits: 443

Posté le : 22/06/2006 00:12

Edité par DuGris sur 27/06/2006 01:34:55
Edité par DuGris sur 01/11/2006 02:06:30
Partager Twitter Partagez cette article sur GG+
Re: Plugin smarty : nombre de visiteur par module (block qui est en ligne)
Admin Frxoops
Inscrit: 04/02/2003 07:37
De Belgique
Messages: 3376
Voilà qui est bien utile. N'est-il pas possible d'implémenter directement ce hack/plugin dans le core ?


Posté le : 22/06/2006 11:52
Partager Twitter Partagez cette article sur GG+
Re: Plugin smarty : nombre de visiteur par module (block qui est en ligne)
Aspirant
Inscrit: 06/01/2004 06:33
Messages: 63
Dans la prochaine version seulement, mon cerveau liquide a encore fait des siennes et j'ai oublié de l'ajouter dans la 14

Posté le : 22/06/2006 12:59
Partager Twitter Partagez cette article sur GG+
Re: Plugin smarty : nombre de visiteur par module (block qui est en ligne)
Semi pro
Inscrit: 05/06/2004 14:25
Messages: 750
Bonjour,
suite à la news, je voulais poster un commentaire, mais orienté technique et vous avez l'aire de préférer laisser le coté technique sur les forums. Bref


je comprends la nécessité de créer plutot des plugins que des hacks du core, mais pour ca il faut connaitre le fonctionnement des plugins smarty.

J'ai regardé le code du plugin proposé ici, et ca m'a l'air assez identique à un fichier d'un module quelconque, les variables Xoops sont utilisés pareil...

Donc ma question : Y a-t-il des différences entre les plugins et de simples pages de modules, au niveau structurel ou autre.

Par exemple comment faire passer des variables au script?

merci d'avance.

Posté le : 22/06/2006 21:45
Partager Twitter Partagez cette article sur GG+
Re: Plugin smarty : nombre de visiteur par module (block qui est en ligne)
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
Messages: 2526
Citation :

Niluge a écrit:
Donc ma question : Y a-t-il des différences entre les plugins et de simples pages de modules, au niveau structurel ou autre.

Par exemple comment faire passer des variables au script?

merci d'avance.


Juste une chose dont il faut tenir compte, c'est les Conventions de nommage des plugins.
Sinon pour le reste, il s'agit du language php, avec la possibilité d'implémenter les variables, fonctions xoops, ...

Pour le passage de paramètre au plugin smarty, je t'invites à regarder les exemples d'utilisation de ce plugin.

Posté le : 27/06/2006 01:40
Partager Twitter Partagez cette article sur GG+
Re: Plugin smarty : nombre de visiteur par module (block qui est en ligne)
Aspirant
Inscrit: 07/04/2003 02:51
Messages: 90
bonsoir,

je me permet de resortic ce topic pour demander une petite aide sur l'instalation de ce plugin qui ne semple pas fonctionner chez moi en ayant pourtant je crois effectué les bonnes modifications

avez vous une idée de mon soucis svp

merci d'avance

Posté le : 19/11/2007 20:11
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

12 Personne(s) en ligne (6 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 12 | Plus ...