Fork me on GitHub




(1) 2 3 4 »


Menu css 3 : Aux pros des smarty xoops
Régulier
Inscrit: 04/02/2003 11:32
De wdforge.org
Messages: 285
Bonsoir,

Dans la mise au point d'un menu, je souhaite identifier si on est dans un script "utilisateur"

Pour cela, le debugger smarty m'a permis de mettre en évidence que la variable <{$SCRIPT_NAME}> prenait un certain nombre de valeur qui m'interressait :

$xoops_url.'/admin.php'
$xoops_url.'/viewpmsg.php'
$xoops_url.'/readpmsg.php'
$xoops_url.'/user.php'

j'ai donc le code suivant... dans une balise smarty if :

<{if $SCRIPT_NAME == $xoops_url.'/admin.php' or $SCRIPT_NAME == $xoops_url.'/viewpmsg.php' or $SCRIPT_NAME == $xoops_url.'/readpmsg.php' or $SCRIPT_NAME == $xoops_url.'/user.php'}>

Evidement cela ne marche pas (sinon je publierrais la trouvaille...

merci de votre aide, je pense à un soucis pour concaténer une variable à une chaine mais bon

ps : si une réponse tapide pouvait arriver je serais en mesure de publier rapidement...

Posté le : 20/10/2005 18:43

Edité par romu sur 20/10/2005 21:11:20
Edité par romu sur 24/10/2005 18:02:05
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Semi pro
Inscrit: 23/09/2003 08:29
De Perdu dans le Morvan
Messages: 562
Citation :
je pense à un soucis pour concaténer une variable à une chaine

C'est probable.
De mémoire le . ne sert pas à concaténer.
Regarde cette page pour plus d'infos.

Posté le : 20/10/2005 19:12
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Régulier
Inscrit: 04/02/2003 11:32
De wdforge.org
Messages: 285
last night TheCat saved my life...


En fin presque...

comment finaliser mon test sachant que
{$SCRIPT_NAME} = "/wdf/html/readpmsg.php"
{$xoops_url} = "http://localhost/wdf/html"

pour bien faire il me faudrait "couper" {$SCRIPT_NAME} à partir du dernier /...

quelqu'un dans la salle ? pendant que je tente ma vie en smarty.php.net

Posté le : 20/10/2005 19:39
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Régulier
Inscrit: 04/02/2003 11:32
De wdforge.org
Messages: 285
yes...
dans le if :
$smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/readpmsg.php

et voila !

je finaliser et vous met cela en ligne... c'est beau à en pleurer

TheCat, fais moi un mail pour que je n'oublie de te poster cela.

Posté le : 20/10/2005 19:45
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Régulier
Inscrit: 04/02/2003 11:32
De wdforge.org
Messages: 285
arf un dernier problem

en entete de mon theme.php j'ai

<{php}>
$mod $GLOBALS['xoopsModule'];
$dirname = (isset($mod) ? $mod->getVar('dirname') :'system');
$GLOBALS['xoopsTpl']->assign'xoops_cmod'$dirname );
<{/
php}>


ainsi $xoops_cmod contient le nom du module en cours (pratique pour affecter l'onglet de mon menu...

mais pour le menu utilisateur j'ai :

<{if $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/readpmsg.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/viewpmsg.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/user.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/edituser.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/userinfo.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/register.php}>

[
b]... ICI LE CODE pour affecter 'user'à $xoops_cmod ...[/b]
<{/if}>


si kekun est dispo pour m'aider me poster vite un mail, je retournerais mon msn...

le résultat est sympa
Open in new window
Open in new window
Open in new window

Attacher un fichier:



jpg  erc009.jpg (6.77 KB)
91_4357eae2833d4.jpg 483X55 px

jpg  erc010.jpg (6.68 KB)
91_4357eb143f00f.jpg 489X57 px

jpg  erc011.jpg (4.68 KB)
91_4357eb3733ab2.jpg 419X48 px

Posté le : 20/10/2005 21:09
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Supporter Xoops
Inscrit: 24/11/2004 07:56
De Marseillan - Cap d'Agde
Messages: 687
Salut Romu ,

Je t'ai envoyé aussi en MP cette réponse pour l'entete de du theme wdforge4 :

<{php}>
[
b][color=FF0000]global  $xoopsModule ;[/color][/b]
$mod $GLOBALS['xoopsModule'];
....


Ca donne un résultat correct chez moi

( je t'avais répondu sur un autre thread et je te refais la meme reponse ici )

En fait dans mon theme j'avais mis exactement cela :
<{php}>
global  
$xoopsModule ;
$dirname = (isset($xoopsModule) ? $xoopsModule->getVar('dirname') :'system');
$GLOBALS['xoopsTpl']->assign'xoops_cmod'$dirname );
.....

Posté le : 21/10/2005 11:28

Cordialement
Denis
Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Régulier
Inscrit: 04/02/2003 11:32
De wdforge.org
Messages: 285
ok mais le probleme n'est pas là...
il s'agit d'affecter à xoops_cmod la valeur 'user' si on est sur un script utilisateur (identifiés dans le if)

Posté le : 21/10/2005 12:03
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Supporter Xoops
Inscrit: 24/11/2004 07:56
De Marseillan - Cap d'Agde
Messages: 687
OK Romu ,
Autant pour moi .
Je pensais que c'etait le probleme de xoopsModule :)
Je continue mes recherches

Posté le : 21/10/2005 12:40

Cordialement
Denis
Open in new window
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Régulier
Inscrit: 04/02/2003 11:32
De wdforge.org
Messages: 285
J'imagine traiter $SCRIPT_NAME... et en récupérer le contenu en partant du premier caractère après le dernier /...

en php on utiliserais (si je savait accéder à $SCRIPT_NAME
$val substr($val1+strrpos($SCRIPT_NAME"/"));
if (
$val == 'readpmsg.php') { 
        
$GLOBALS['xoopsTpl']->assign'xoops_cmod''user' );
}

Posté le : 21/10/2005 13:59
Partager Twitter Partagez cette article sur GG+
Re: Aux pros des smarty xoops
Supporter Xoops
Inscrit: 24/11/2004 07:56
De Marseillan - Cap d'Agde
Messages: 687
Romu

Je pense que ce coup ci j'ai trouvé la notation .

En fait dans le test
<{if (xoops_cmod==system) and ($smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/readpmsg.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/viewpmsg.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/user.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/edituser.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/userinfo.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/register.php)}>


il faut mettre un $ devant xoops_cmod ce qui donne

<{if ($xoops_cmod==system) and ($smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/readpmsg.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/viewpmsg.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/user.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/edituser.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/userinfo.php or $smarty.server.SERVER_NAME/$SCRIPT_NAME == $xoops_url/register.php)}>



Et chez moi ca donne bien user quand on est dans sytem mais sur le programme userinfo.php par exemple

Posté le : 21/10/2005 14:03

Cordialement
Denis
Open in new window
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 3 4 »



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

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