Fork me on GitHub






Récup le nom du module en cours ...
Newbie
Inscrit: 06/01/2006 09:51
Messages: 2
Bonjour à tous,

Je suis à la recherche de la façon de trouver le nom du module en cours d'exécution. Je suis tombé, aïe, sur plusieurs page faisant référence à $xoops_module.name, mais rien n'y fait avec ma version de xoops : 2.0.13.2 , ça ne donne rien. En fait mon idée est de changer l'image du header en fonction du module en cours d'exécution, ainsi il me faut récupérer le nom du module et appliquer une image spéciale selon le module en cours. J'espère avoir été suffisement clair pour qu'une âme charitable me donne une/des pistes ... merci à tous

Posté le : 08/02/2006 14:20

In God we Trust -- all others must submit an X.509 certificate.
(Charles Forsythe)
Partager Twitter Partagez cette article sur GG+
Re: Récup le nom du module en cours ...
Admin Frxoops
Inscrit: 04/02/2003 06:41
Messages: 924
je suis pas sur du resultat mais en essayant un truc dans ce genre:

$xoopsTpl->assign('xoops_themeamettre',$module_name );
ou xoops_themeamettre est repris ensuite pour afficher telle ou telle image.
Et ensuite:

<{if 
$xoops_themeamettre == xxxxx}>image 1... </if>


Je donne cela brut de brut a creuser. Je ne suis meme pas sur du resultat mais c'est pour faire avancer le smilblick qui je le rappelle n'est pas une vache

Posté le : 08/02/2006 14:46

Quand tu montres la lune du doigt, l'imbécile regarde le doigt.
Infos sur TSO et tutos PC sur Tutoriaux PC
Partager Twitter Partagez cette article sur GG+
Re: Récup le nom du module en cours ...
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
salut,
en te basant sur le fichier header.php à la racine de ton site, on voit un bout de code intéressant :

$xoopsModule->getVar('dirname');


ainsi :

$xoopsTpl->assign('xoops_dirname'$xoopsModule->getVar('dirname'));


ce qui donne la variable smarty xoops_dirname à utiliser dans ton thème (tout dépend ce que tu es en train de faire, une modif dans le thème ou un script php)


Si tu mets ce code dans ton header.php

echo $xoopsModule->getVar('dirname');


tu verras le nom du module en cours apparaître en haut de page (juste histoire de contrôler que ce code retourne la valeur que tu souhaites)

Posté le : 08/02/2006 15:23
Partager Twitter Partagez cette article sur GG+
Re: Récup le nom du module en cours ...
Newbie
Inscrit: 06/01/2006 09:51
Messages: 2
Merci c exactement ce qu'il me fallait !

Merci à tous ceux qui m'ont aider

Posté le : 08/02/2006 16:31

In God we Trust -- all others must submit an X.509 certificate.
(Charles Forsythe)
Partager Twitter Partagez cette article sur GG+
Re: Récup le nom du module en cours ...
Guest_
b'jour,

Je souhaiterais pour ma part afficher nom pas le nom du répertoire du module (<{$xoops_dirname}>) mais l'intitulé que l'on donne au module depuis l'Administration de xoops.

Si j'écris <{$xoops_pagetitle}> c'est presque bon mais pas pour tous les modules. Cela dépend de la façon dont sont générés les titres visiblement : myAlbum me retourne bien l'intitulé du module mais News me renvoie le nom de la page en entier...

Savez-vous comment récupérer cette variable ?

Merci d'avance
(je n'ai rien trouvé sur le forum... ou alors que des choses bien compliquées )


Edit : j'ai essayé également <{$module.name}> mais cela me retourne systématiquement le nom du dernier module du Menu principal, quelque soit le module actif sur la page.

Posté le : 29/02/2008 13:27
Partager Twitter Partagez cette article sur GG+
Re: Récup le nom du module en cours ...
Team FrXoops
Inscrit: 14/05/2004 22:32
Messages: 2554
$moduleName = $xoopsModule->getVar('name');

et en ouvrant la classe $module du kernel on peu voir en début:
function XoopsModule()
{
$this->XoopsObject();
$this->initVar('mid', XOBJ_DTYPE_INT, null, false);
$this->initVar('name', XOBJ_DTYPE_TXTBOX, null, true, 150);
$this->initVar('version', XOBJ_DTYPE_INT, 100, false);
$this->initVar('last_update', XOBJ_DTYPE_INT, null, false);
$this->initVar('weight', XOBJ_DTYPE_INT, 0, false);
$this->initVar('isactive', XOBJ_DTYPE_INT, 1, false);
$this->initVar('dirname', XOBJ_DTYPE_OTHER, null, true);
$this->initVar('hasmain', XOBJ_DTYPE_INT, 0, false);
$this->initVar('hasadmin', XOBJ_DTYPE_INT, 0, false);
$this->initVar('hassearch', XOBJ_DTYPE_INT, 0, false);
$this->initVar('hasconfig', XOBJ_DTYPE_INT, 0, false);
$this->initVar('hascomments', XOBJ_DTYPE_INT, 0, false);
// RMV-NOTIFY
$this->initVar('hasnotification', XOBJ_DTYPE_INT, 0, false);
}

donc a priori on peu récupérer toutes ces info en changeant le nom passé à getVar

$moduleName = $xoopsModule->getVar('version');
par exemple

Posté le : 29/02/2008 16:20

Ne pas perdre patience, même si cela semble impossible, c'est déjà de la patience.
Origami
Conseil des Sages
Sur gitHub
Partager Twitter Partagez cette article sur GG+
Re: Récup le nom du module en cours ...
Guest_
Merci pour cette piste

Vais plancher dessus !

Posté le : 29/02/2008 17:10
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

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