Annonce

  •  » Utilisation
  •  » Empêcher l'affichage du menu "Liens" pour les guests

#1 2006-07-31 13:51:55

sigo
Membre
2006-07-27
47

Empêcher l'affichage du menu "Liens" pour les guests

J'ai vu que c'était possible avec le Joey's MOD, mais celui-ci est compatible avec la version 1.5.2 et je suis sur 1.6.1.
Voici la procédure indiquée :
#-----[ OPEN ]------------------------------------------
#
    category.php

#
#-----[ FIND ]------------------------------------------
#
    //-------------------------------------------------------------- external links
    if (count($conf['links']) > 0)
    {
        $template->assign_block_vars('links', array());

#
#-----[ ADD AFTER ]------------------------------------------
#
    if ( !$user['is_the_guest'] )
    {
        if (count($conf['userlinks']) > 0)
        {   
            foreach ($conf['userlinks'] as $url => $label)
            {
                    $template->assign_block_vars(
                        'links.userlink',
                        array(
                            'URL' => $url,
                            'LABEL' => $label
                            ));
            }
        }   
    }

#
#-----[ OPEN ]------------------------------------------
#
    template/Joesyoga/category.tpl

#
#-----[ FIND ]------------------------------------------
#
    <!-- BEGIN links -->
    <dl>
        <dt>{lang:Links}</dt>
        <dd>
        <ul>

#
#-----[ ADD AFTER ]------------------------------------------
#
    <!-- BEGIN userlink -->
    <li><a href="{links.userlink.URL}">{links.userlink.LABEL}</a></li>
    <!-- END userlink -->

#
#-----[ CLOSE ALL FILES ]------------------------------------------
#


Le problème, c'est que je n'ai pas trouvé "if (count($conf['links']) > 0)
    {
        $template->assign_block_vars('links', array());" dans category.php, et je n'ai pas de category.tpl dans le template yoga que j'utilise.

Y a-t-il tout de même un moyen ?

Hors ligne

#2 2006-07-31 14:37:59

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Empêcher l'affichage du menu "Liens" pour les guests

Jette un oeil dans index.php et menubar.tpl


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#3 2006-07-31 15:00:51

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

VDigital a écrit:

Jette un oeil dans index.php et menubar.tpl

J'ai trouvé ce qu'il faut dans menu.bar.tpl, mais pas dans index.php (je suppose que c'est celui qui est à la racine, pas celui du template ?)

Hors ligne

#4 2006-07-31 15:30:26

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

Finalement, j'ai trouvé :
//-------------------------------------------------------------- external links
if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $label)
  {
    $template->assign_block_vars(
      'links.link',
      array(
        'URL' => $url,
        'LABEL' => $label
        )
      );
  }
}

mais pas dans index.php, dans include/menubar.inc.php.

Est-ce que je peux toucher à ça sans risque ?

Hors ligne

#5 2006-07-31 15:31:46

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Empêcher l'affichage du menu "Liens" pour les guests

Mille excuses: include/menubar.inc.php


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#6 2006-07-31 15:35:36

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

VDigital a écrit:

Mille excuses: include/menubar.inc.php

De rien. Donc, j'en conclus que je peux tripatouiller ce fichier. J'essaie.

Hors ligne

#7 2006-07-31 15:51:03

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

Bon, ben ça ne change rien du tout : les liens apparaissent toujours quand on n'est connecté en guest (sans s'être identifié).
Dans include/menubar.inc.php, j'ai :
//-------------------------------------------------------------- external links
if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $label)
  {
    $template->assign_block_vars(
      'links.link',
      array(
        'URL' => $url,
        'LABEL' => $label
        )
      );
  }
}

if ( !$user['is_the_guest'] )
    {
        if (count($conf['userlinks']) > 0)
        {   
            foreach ($conf['userlinks'] as $url => $label)
            {
                    $template->assign_block_vars(
                        'links.userlink',
                        array(
                            'URL' => $url,
                            'LABEL' => $label
                            ));
            }
        }   
    }




Dans template/yoga/menubar.tpl, j'ai :
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
<!-- BEGIN userlink -->
    <li><a href="{links.userlink.URL}">{links.userlink.LABEL}</a></li>
    <!-- END userlink -->   
      <!-- BEGIN link -->
      <li><a target="_blank" href="{links.link.URL}">{links.link.LABEL}</a></li> <!-- MyPWG -->
      <!-- END link -->
    </ul>
  </dd>
</dl>
<!-- END links -->

Il doit y avoir un truc qui ne va pas au niveau du links.userlink et du links.link, non ? Tout ça, c'est encore un peu de l'hébreu, pour moi.

Hors ligne

#8 2006-07-31 16:12:02

mathiasm
Former Piwigo Team
2006-02-06
2692

Re: Empêcher l'affichage du menu "Liens" pour les guests

supprime le bloc begin link -> end link, qui correspond aux liens pour les guests.

Hors ligne

#9 2006-07-31 16:17:18

VDigital
Former Piwigo Team
Montpellier (FR)
2005-05-04
15127

Re: Empêcher l'affichage du menu "Liens" pour les guests

Dans ton config_local.inc.php, il suffit maintenant de coder

$conf['userlinks'] = array(
   'http://phpwebgallery.net' => 'PWG website',
   'http://forum.phpwebgallery.net' => 'PWG forum',
   'http://phpwebgallery.net/doc' => 'PWG wiki'
   );
$conf['links'] = array();

Je n'ai pas testé bien entendu.
Mais tes users verront les liens définis dans $conf['userlinks']
et les guests ceux de $conf['links']

A priori...
8-)


Vincent -« Plus vidéaste averti que photographe amateur... »
La galerie - Le blog   

Piwigo est une application libre de gestion de photos en ligne.

Hors ligne

#10 2006-07-31 16:54:24

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

VDigital a écrit:

Dans ton config_local.inc.php, il suffit maintenant de coder

$conf['userlinks'] = array(
   'http://phpwebgallery.net' => 'PWG website',
   'http://forum.phpwebgallery.net' => 'PWG forum',
   'http://phpwebgallery.net/doc' => 'PWG wiki'
   );
$conf['links'] = array();

Je n'ai pas testé bien entendu.
Mais tes users verront les liens définis dans $conf['userlinks']
et les guests ceux de $conf['links']

A priori...
8-)

J'ai fait tout ça, et maintenant, les liens n'apparaissent plus en guest. Par contre, si je me reconnecte en m'identifiant, j'ai 5 fois le titre du menu "Liens" (ce qui correspond en fait au nombre de mes liens), mais aucun lien n'apparaît.

J'ai :
<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
    <!-- BEGIN userlink -->
    <li><a href="{links.userlink.URL}">{links.userlink.LABEL}</a></li>
    <!-- END userlink -->
    </ul>
  </dd>
</dl>
<!-- END links -->
dans menubar.tpl,

et toujours :
//-------------------------------------------------------------- external links
if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $label)
  {
    $template->assign_block_vars(
      'links.link',
      array(
        'URL' => $url,
        'LABEL' => $label
        )
      );
  }
}

if ( !$user['is_the_guest'] )
    {
        if (count($conf['userlinks']) > 0)
        {   
            foreach ($conf['userlinks'] as $url => $label)
            {
                    $template->assign_block_vars(
                        'links.userlink',
                        array(
                            'URL' => $url,
                            'LABEL' => $label
                            ));
            }
        }   
    }

dans menubar.inc.php.

C'est peut-être dans ce dernier qu'il y a une erreur ?

Dernière modification par sigo (2006-07-31 17:18:57)

Hors ligne

#11 2006-08-01 13:34:16

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

J'ai essayé plusieurs trucs, mais je n'y arrive pas. Mon bloc "liens" est bien caché pour les guests (c'est ce que je voulais), mais pour les visiteurs identifiés, ça fait un truc très bizarre. Sous le titre du menu "liens", il y a mon deuxième lien (j'en ai 5 en tout, mais le premier n'apparaît pas, je ne sais pas pourquoi), puis au lieu d'avoir mes autres liens, j'ai à nouveau le titre du menu "liens", suivi de mon troisième lien, puis encore le titre... etc. Moi, je voudrais juste avoir une fois le titre du menu "liens" puis mes 5 liens en-dessous, comme c'était le cas avant que je ne fasse les manips pour le cacher aux guests.


Il y a peut-être une erreur dans include/menubar.inc.php, dans cette partie de code :

//-------------------------------------------------------------- external links
if (count($conf['links']) > 0)
{
  $template->assign_block_vars('links', array());

  foreach ($conf['links'] as $url => $label)
  {
    $template->assign_block_vars(
      'links.link',
      array(
        'URL' => $url,
        'LABEL' => $label
        )
      );
  }
}

if ( !$user['is_the_guest'] )
    {
        if (count($conf['userlinks']) > 0)
        {   
            foreach ($conf['userlinks'] as $url => $label)
            {
                    $template->assign_block_vars(
                        'links.userlink',
                        array(
                            'URL' => $url,
                            'LABEL' => $label
                            ));
            }
        }   
    }


Mais je ne sais pas ce qui cloche.
Quelqu'un a une idée ?
Si on trouve la solution, après je pourrai rédiger la synthèse de l'ensemble de la manip. Ça fera une mise à jour de cette partie du Joey's MOD pour la version 1.6.1.

Dernière modification par sigo (2006-08-01 13:37:56)

Hors ligne

#12 2006-08-01 13:49:12

mathiasm
Former Piwigo Team
2006-02-06
2692

Re: Empêcher l'affichage du menu "Liens" pour les guests

sigo a écrit:

<!-- BEGIN links -->
<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
    <!-- BEGIN userlink -->
    <li><a href="{links.userlink.URL}">{links.userlink.LABEL}</a></li>
    <!-- END userlink -->
    </ul>
  </dd>
</dl>
<!-- END links -->
dans menubar.tpl,

La boucle des liens commence à begin.
Comme tu as mis le dl et le dt avec le titre dedans, il le refait à chaque fois.
Supprime aussi les commentaires begin links et end links (quand j'évoquais le bloc, c'est les bornes avec) :-)
Ça devrait aller mieux

Hors ligne

#13 2006-08-01 14:21:29

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

J'ai supprimé tous les begin et end. Donc, ça donne ça :

<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
   
    <li><a target="_blank" href="{links.userlink.URL}">{links.userlink.LABEL}</a></li>
   
    </ul>
  </dd>
</dl>

Maintenant, le titre du menu "liens" n'apparaît qu'une fois (c'est bien), mais en dessous, j'ai juste une puce, et il n'y a pas mes liens.
J'ai encore dû rater un truc.

Hors ligne

#14 2006-08-01 15:20:48

sigo
Membre
2006-07-27
47

Re: Empêcher l'affichage du menu "Liens" pour les guests

Comme je n'arrive toujours pas à ce que je veux, j'essaie dans tous les sens. J'enlève des trucs, je les remets...
C'est ainsi que j'ai essayé ça :

<dl id="mbLinks">
  <dt>{lang:Links}</dt>
  <dd>
    <ul>
    <!-- BEGIN links -->
    <!-- BEGIN userlink -->
    <li><a target="_blank" href="{links.userlink.URL}">{links.userlink.LABEL}</a></li><!-- MyPWG -->
    <!-- END userlink -->
    <!-- END links -->
    </ul>
  </dd>
</dl>

Ça ne doit pas être très orthodoxe, mais ça me donne quelque chose de plus correct. En guest, le menu "liens" s'affiche, mais sans les liens (ce qui me convient). En utilisateur identifié, le menu "liens" s'affiche, suivi de 4 de mes liens (il manque toujours le premier). J'aimerais bien quand-même avoir mes 5 liens, mais 4, c'est déjà mieux que 0. Est-ce qu'il n'y aurait pas tout bêtement quelque part un réglage qui limite le nombre de liens à 4 et qui m'aurait échappé ?
Bon, je n'y comprends toujours rien, et ce que j'ai fait me semble quand-même bizarre.

Dernière modification par sigo (2006-08-01 15:25:28)

Hors ligne

#15 2006-08-01 15:40:07

mathiasm
Former Piwigo Team
2006-02-06
2692

Re: Empêcher l'affichage du menu "Liens" pour les guests

laisse les begin/end userlink (qu correspondent à ta déclaration de liens) et supprime les begin/end links (qui correspondent à la déclaration générique).
Si tu fais pas ce qu'on te dit (et que ça!), c'est normal que ça marche pas :-)

Hors ligne

  •  » Utilisation
  •  » Empêcher l'affichage du menu "Liens" pour les guests

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact