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
Jette un oeil dans index.php et menubar.tpl
Hors ligne
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
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
Mille excuses: include/menubar.inc.php
Hors ligne
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
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-)
Hors ligne
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
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
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
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
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
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