Bonjour à tous,
Je cherche un moyen simple pour ne pas modifier le code source comme sur mon ancienne version PhpWebGallery 1.6.1 pour masquer le menu bar entièrement sauf pour le formulaire "Identification".
Mais une fois que l'utilisateur est connecté il affiche le menu bar entièrement avec tous ce qu'il y a dedans.
Sauf erreur de ma part je n'ai pas trouvé cette option et sur le forum personne n'en parle.
Je dois considérer que mon souhait est personnel :)
Merci de votre aide.
Sinon ben....! tant pis je laisserai ma modification du code source dans le fichier "menubar.inc.php" en ayant placer la condition qui va bien pour éviter son affichage.
Cordialement
Hors ligne
Dans l'administration, Configuration > Menu (sous version 2.1.x), tu peux choisir de masquer des éléments du menu.
:-)
Dernière modification par LucMorizur (2010-08-10 15:53:45)
Hors ligne
Bonsoir LucMorizur,
C'est bien vu mais je l'avais déjà testé, et ce n'est pas du tout ce que je recherche.
Ci-joint 2 captures écrans de ce qui est déjà en place en modifiant le code source du fichier en question.
- l'utilisateur n'est pas encore identifier (il ne voit que le formulaire de connexion)
- l'utilisateur est identifier. (il voit tous le menu bar)
Merci pour ton aide en tous cas et si tu as une autre idée je suis preneur.
@ bientôt
Dernière modification par rescue (2010-08-10 20:42:42)
Hors ligne
OK, désolé j'avais lu trop vite -- comme souvent :-/ ...
Ce que tu demandes n'est pas impossible, mais ce n'est pas évident, en tous cas moi ça me demanderait trop de temps. Je crois qu'il faudrait modifier la DB en fonction du résultat de is_guest() , ça ce n'est rien. Mais en regardant dans admin/menubar.php , les informations entrées en DB sont modifiées en fonction de valeurs de $conf... bref, ça se complique pas mal -- encore une fois, de mon point de vue.
Euh... quelqu'un d'autre a une solution ?? :-/ ...
Hors ligne
... ou alors, grâce à une proposition récente de P@t, on pourra tenter d'inclure ce qui suit dans le Plugin Personnel (tel qu'écrit là, ne fonctionne que pour Piwigo 2.1.x) :
// js_menubar_hide
// Hides some elements of the menubar when user is a guest
//
// no variables, no return
//
add_event_handler('loc_end_page_tail', 'js_menubar_hide');
function js_menubar_hide()
{
global $template;
if (is_a_guest()) $template->append('footer_elements', '
<script type="text/javascript" >
document.getElementById("mbCategories").innerHTML = "";
document.getElementById("mbLinks").innerHTML = "";
document.getElementById("mbSpecials").innerHTML = "";
document.getElementById("mbMenu").innerHTML = "";
document.getElementById("mbAdditionalPages").innerHTML = "";
document.getElementById("mbAMM_randompict").innerHTML = "";
</script >');
}
À vérifier dans le "code source de la page" (le code HTML) les identifiants des différents blocs de menu que l'on souhaite cacher.
Bien tester de façon générale, car en local sous WinAmp, j'ai un comportement un peu étrange de ce code, qui ne s'exécute que s'il est placé avant l'autre trucastuce évoqué plus haut : [Forum, post 149643 by LucMorizur in topic 18363] Intégrer le nom de l'utilisateur dans un texte o_O ... mais j'ai peut-être manqué quelque chose... et puis, bon, j'ai fait tout ça très rapidement :-/ ...
À préciser aussi que de la sorte, les blocs de menus ne sont que cachés, pas forcément inutilisables : il suffit pour l'utilisateur "guest" d'afficher le code source de la page pour les récupérer, et reconstruire une page HTML permettant de les utiliser. M'enfin bon...
Dernière modification par LucMorizur (2010-08-11 01:20:21)
Hors ligne
Bonjour,
Merci pour cette idée, mais je pense que la mienne est bien moins complexe et aussi rapide a mettre en place.
Si quelqu'un est intéressé je donnerai la condition qui va bien.
Merci LucMorizur
@+
Dernière modification par rescue (2010-08-11 08:19:11)
Hors ligne
Oui, mais le fichier que tu modifies peut être lui-même modifié lors d'une montée de version, auquel cas ta modif est perdue ! Toujours la même histoire.
Cependant je pense que tu as raison : mon idée n'est pas une bonne solution. J'avais pensé aussi à un truc encore plus alambiqué à l'aide de préfiltres... je le dis pas ? bon d'accord.
Peux-tu cependant dire quelle solution tu as mise en place ? Cela pourrait être intéressant si elle peut être convertie en une solution plus pérenne. Par MP si tu préfères.
Hors ligne
voici une problématique rencontrée ici : http://piwigo.org/forum/viewtopic.php?p … 64#p115364
A utiliser soit en thème avec juste le ou les tpl modifié(s), ou alors en template extension si cela doit concerner plusieurs thèmes
Hors ligne
Bonsoir,
Désolé pour ma réponse tardive mais j'étais de dépannage aujourd'hui lol.
Voici mon script si cela intéresse quelques personnes.
Le but est de placer dans les if () la condition suivante : and is_autorize_status(ACCESS_CLASSIC)
dans le fichier "menubar.inc.php"
à la ligne 100 : if ( $block!=null and is_autorize_status(ACCESS_CLASSIC))
à la ligne 164 : if ( ($block = $menu->get_block('mbSpecials')) != null and is_autorize_status(ACCESS_CLASSIC))
à la ligne 236 : if ( ($block=$menu->get_block('mbMenu')) != null and is_autorize_status(ACCESS_CLASSIC))
Ainsi les menus sont cachés sauf le formulaire d'identification.
Bonne soirée
@+
Dernière modification par rescue (2010-08-11 19:08:35)
Hors ligne
rescue a écrit:
Bonsoir,
Désolé pour ma réponse tardive mais j'étais de dépannage aujourd'hui lol.
Voici mon script si cela intéresse quelques personnes.
Le but est de placer dans les if () la condition suivante : and is_autorize_status(ACCESS_CLASSIC)
à la ligne 100 : if ( $block!=null and is_autorize_status(ACCESS_CLASSIC))
à la ligne 164 : if ( ($block = $menu->get_block('mbSpecials')) != null and is_autorize_status(ACCESS_CLASSIC))
à la ligne 236 : if ( ($block=$menu->get_block('mbMenu')) != null and is_autorize_status(ACCESS_CLASSIC))
Ainsi les menus sont cachés sauf le formulaire d'identification.
Bonne soirée
@+
heu modifier le fichier php est une très mauvaise solution... après si vous ne comptez pas mettre à jour votre galerie, yaura pas de problème sauf de sécurité
Dernière modification par flop25 (2010-08-11 19:13:16)
Hors ligne
Re,
Oui c'est sur que c'est contraignant de modifier le code source à chaque mise à jour. (ça reste assez rapide le copier coller)
Mais Je vais me pencher sur les tpl à modifier.
C'est une piste.
Merci
@+
Hors ligne
Merci flop25 :-) !
Hors ligne
Bonsoir,
Je me suis penché et travaillé sur la modification du tpl.
Contraintes : trop de fichier à modifier dont les thèmes ( c'est une bonne idée mais trop de boulots).
Je vais garder ma solution de modification de code source php il y a trois copier coller à faire.
Merci quand même flop25.
Bonne soirée et @ bientôt...
Hors ligne
rescue a écrit:
Je me suis penché et travaillé sur la modification du tpl.
Contraintes : trop de fichier à modifier dont les thèmes ( c'est une bonne idée mais trop de boulots).
Même avec un template-extension ? (LocalFiles Editor, onglet Templates, créer nouveau fichier, modèle menubar.tpl)
Hors ligne
Bonsoir,
Oui je l'ai fait et d'ailleurs c'est comme ça que j'ai commencé mon approche.
Je n'avais plus le menu bar, après il faut modifier le css du theme car
la class
.content {
border: 1px solid #000;
border-top: 0;
margin:21px 7px 0 290px;
padding-top:7px;
qui fixe en margin 290px à gauche ça le fait pas il y a un vide lorsque tu n'a plus le menu sur le coté le marger 100% ou rien marger du tout, m'oblige à modifier les styles des autres thèmes.
Ensuite j'ai fait la modification de chaques tpl inclus dans le menu bar.
il me fait bien disparaitre les menus mais pas la mise en forme obliger de toucher les css des thèmes là aussi.
J'ai peut être raté quelque chose !
Merci de m'éclairer.
@+
Hors ligne