Menu de navigation

Salut Christophe,

moi j'utilise une truc toute bête mais efficace, un peut de DHTML cross-platform.

Tu ajoutes un ID sur les liens A, par ex.
  <A HREF="#URL_RUBRIQUE" id="menu#ID_ARTICLE">#TITRE</A>

Et tu ajout a la fin du squelette
  <BOUCLE_menuRub(RUBRIQUES){id_rubrique}>
  <SCRIPT type="text/javascript" language="JavaScript">
    obj = document.getElementById(id);
    if (obj != null) obj.style.backgroundColor='#E0E0EE';
  </SCRIPT>
  </BOUCLE_menuRub>

La couleur, comme la propriété CSS peuvent être adapté. Une exemple optimisé en-direct sur www.franta-romania.com, regarde le menu avec les rubriques. Ce qui t'intéresse est dans /hierarchie.html et /dw.js.

                                                 -- Gabriel Radic

On mercredi, jan 8, 2003, at 08:28 Europe/Paris, segura.christophe@free.fr wrote:

Bonjour tout le monde,
J'ai une question toute bete, mais pas la reponse :
Sur mon site j'ai un menu qui me permet de naviguer sur les différents articles d'une rubrique, je souhaite pourvoir differencier visuellement le lien qui mene a un article, quand cet article est affiché... pfff, pas clair ca... je souhaite que quand on clique sur un menu, le lien sur lequel on a cliqué change d'aspect visuel, ou mettre une puce devant, un truc dans le genre...
Ce menu est constitue d'une boucle qui liste tous les articles de la rubrique, comment indiqué dans cette boucle que le lien menant à l'article affiché est different des autres ?

Merci

En essayant de customiser le script pour toi, j'ai loupé des trucs.

Correction <A HREF="#URL_RUBRIQUE" id="menu#URL_RUBRIQUE">#TITRE</A>
                                             ^^^^^^^^^^^^
Cette solution marche pour les lien rubrique, tu peut facilement l'adapter pour les articles.

                                                 -- Gabriel Radic

On mercredi, jan 8, 2003, at 10:12 Europe/Paris, Gabriel Radic wrote:

Salut Christophe,

moi j'utilise une truc toute bête mais efficace, un peut de DHTML cross-platform.

Tu ajoutes un ID sur les liens A, par ex.
  <A HREF="#URL_RUBRIQUE" id="menu#ID_ARTICLE">#TITRE</A>

Et tu ajout a la fin du squelette
  <BOUCLE_menuRub(RUBRIQUES){id_rubrique}>
  <SCRIPT type="text/javascript" language="JavaScript">
    obj = document.getElementById(id);
    if (obj != null) obj.style.backgroundColor='#E0E0EE';
  </SCRIPT>
  </BOUCLE_menuRub>

La couleur, comme la propriété CSS peuvent être adapté. Une exemple optimisé en-direct sur www.franta-romania.com, regarde le menu avec les rubriques. Ce qui t'intéresse est dans /hierarchie.html et /dw.js.

                                                -- Gabriel Radic

On mercredi, jan 8, 2003, at 08:28 Europe/Paris, segura.christophe@free.fr wrote:

Bonjour tout le monde,
J'ai une question toute bete, mais pas la reponse :
Sur mon site j'ai un menu qui me permet de naviguer sur les différents articles d'une rubrique, je souhaite pourvoir differencier visuellement le lien qui mene a un article, quand cet article est affiché... pfff, pas clair ca... je souhaite que quand on clique sur un menu, le lien sur lequel on a cliqué change d'aspect visuel, ou mettre une puce devant, un truc dans le genre...
Ce menu est constitue d'une boucle qui liste tous les articles de la rubrique, comment indiqué dans cette boucle que le lien menant à l'article affiché est different des autres ?

Merci

Salut et merci,
oui, c est effectivement une solution interessante, l'a l'avantage de
s'effectuer cote client, ton script fonctionne sur ie >=5, netscape >=6, et
meme opera 6... Par contre la propriété 'getElementById' est assez recente me
semble t il, elle doit pas trop fonctionner sur les navigateurs anciens ou
iconoclastes...
Vais quand meme certainement utiliser un truc dans le genre la si personne ne
repond a ma question sur l'interpretation du php dans les pages squelettes (est-
ce que ca court-circuite les fonctions de cache de spip ?).

En réponse à Gabriel Radic <gabrielradic@timbru.com>:

Salut Christophe,

moi j'utilise une truc toute bête mais efficace, un peut de DHTML
cross-platform.

Tu ajoutes un ID sur les liens A, par ex.
  <A HREF="#URL_RUBRIQUE" id="menu#ID_ARTICLE">#TITRE</A>

Et tu ajout a la fin du squelette
  <BOUCLE_menuRub(RUBRIQUES){id_rubrique}>
  <SCRIPT type="text/javascript" language="JavaScript">
    obj = document.getElementById(id);
    if (obj != null) obj.style.backgroundColor='#E0E0EE';
  </SCRIPT>
  </BOUCLE_menuRub>

La couleur, comme la propriété CSS peuvent être adapté. Une exemple
optimisé en-direct sur www.franta-romania.com, regarde le menu avec les

rubriques. Ce qui t'intéresse est dans /hierarchie.html et /dw.js.

                                                 -- Gabriel Radic

On mercredi, jan 8, 2003, at 08:28 Europe/Paris,
segura.christophe@free.fr wrote:

> Bonjour tout le monde,
> J'ai une question toute bete, mais pas la reponse :
> Sur mon site j'ai un menu qui me permet de naviguer sur les différents

> articles d'une rubrique, je souhaite pourvoir differencier
> visuellement le lien qui mene a un article, quand cet article est
> affiché... pfff, pas clair ca... je souhaite que quand on clique sur

> un menu, le lien sur lequel on a cliqué change d'aspect visuel, ou
> mettre une puce devant, un truc dans le genre...
> Ce menu est constitue d'une boucle qui liste tous les articles de la

> rubrique, comment indiqué dans cette boucle que le lien menant à
> l'article affiché est different des autres ?
>
> Merci

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip

From xavier.courtonne@nantesweb.com Wed Jan 8 10:35:42 2003

Return-Path: <xavier.courtonne@nantesweb.com>
Received: from mel-rto3.wanadoo.fr (smtp-out-3.wanadoo.fr [193.252.19.233])
  by miel.brainstorm.fr (Postfix) with ESMTP id BB5D41CCB5
  for <spip@rezo.net>; Wed, 8 Jan 2003 10:35:42 +0100 (CET)
Received: from mel-rta10.wanadoo.fr (193.252.19.193) by mel-rto3.wanadoo.fr
  (6.7.015) id 3E0C33B5005EF5B7 for spip@rezo.net;
  Wed, 8 Jan 2003 10:35:42 +0100
Received: from xavier (81.50.3.196) by mel-rta10.wanadoo.fr (6.7.015)
        id 3E075B5C006758F8 for spip@rezo.net; Wed, 8 Jan 2003 10:35:42 +0100
From: "mailnantesweb" <xavier.courtonne@nantesweb.com>
To: <spip@rezo.net>
Date: Wed, 8 Jan 2003 10:28:01 +0100
Message-ID: <NFBBLLICFAFLFPFLLHNBCECFDBAA.xavier.courtonne@nantesweb.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
  boundary="----=_NextPart_000_002E_01C2B700.9EBC0380"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
In-Reply-To: <0A78E7A6-22EA-11D7-8E1D-0030656AF8F0@timbru.com>
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200
Importance: Normal
Subject: [Spip] navigation dynamique
X-BeenThere: spip@rezo.net
X-Mailman-Version: 2.1rc1+
Precedence: list
List-Id: SPIP : questions/reponses <spip.rezo.net>
List-Unsubscribe: <http://listes.rezo.net/mailman/listinfo/spip&gt;,
  <mailto:spip-request@rezo.net?subject=unsubscribe>
List-Archive: <Discuter chez rezo.net;
List-Post: <mailto:spip@rezo.net>
List-Help: <mailto:spip-request@rezo.net?subject=help>
List-Subscribe: <http://listes.rezo.net/mailman/listinfo/spip&gt;,
  <mailto:spip-request@rezo.net?subject=subscribe>
X-List-Received-Date: Wed, 08 Jan 2003 09:35:43 -0000
Status: O
Content-Length: 7482
Lines: 250

C'est un message de format MIME en plusieurs parties.

------=_NextPart_000_002E_01C2B700.9EBC0380
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

bonjour et bonne année

J ai vu passer des messages sur les menus dynamique.
Pour ma part je me suis pris la tete avec coolmenu,
j ai developpé quelque chose qui me parait plus simple en puisant à droite
et à gauche,*

le principe reside sur une trés bonne astuce : Les div sont positionné par
rapport a une ancre placé a coté du logo.

a l'intérieur du calque on boucle sur ce qu on veut.

Dans l exemple présenté, la boucle est faite sur les sous rubriques d'une
rubrique principale, puis le calque affiche les articles contenus dans cette
rubrique.

le fichier position_Div.js est le script qui récupère la position de l'ancre
pour mettre le div à coté,

Voila, si vous avez rien compris c est qu on est sur la bonne voie... :slight_smile:

Xav

------=_NextPart_000_002E_01C2B700.9EBC0380
Content-Type: text/html;
  name="navigation.html"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
  filename="navigation.html"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Diso-8859-1">
<script language=3D"JavaScript" type=3D"text/JavaScript">

<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
  if (init=3D=3Dtrue) with (navigator) {if =
((appName=3D=3D"Netscape")&&(parseInt(appVersion)=3D=3D4)) {
    document.MM_pgW=3DinnerWidth; document.MM_pgH=3DinnerHeight; =
onresize=3DMM_reloadPage; }}
  else if (innerWidth!=3Ddocument.MM_pgW || =
innerHeight!=3Ddocument.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->

ie4 =3D ((navigator.appName =3D=3D "Microsoft Internet Explorer") && =
(parseInt(navigator.appVersion) >=3D 4 ))
ns4 =3D ((navigator.appName =3D=3D "Netscape") && =
(parseInt(navigator.appVersion) >=3D 4 ))

if (ns4) {
    layerRef=3D"document.layers";
    styleRef=3D"";
} else {
    layerRef=3D"document.all";
    styleRef=3D".style";
} =20

function afficheCalque(calque)
{
  eval(layerRef + '["' + calque +'"]' + styleRef + '.visibility =3D =
"visible"');
}

function cacheCalque(calque)
{
  eval(layerRef + '["' + calque +'"]' + styleRef + '.visibility =3D =
"hidden"');
}

</SCRIPT>

<script language=3D"JavaScript" src=3D"position_Div.js"></script>

</head>

<BODY >
<table width=3D"140" border=3D"0" align=3D"left" cellpadding=3D"0" =
cellspacing=3D"0">
  <BOUCLE_ENVIRONNEMENT(RUBRIQUES){id_rubrique=3D1}>
  <tr>=20
    <td width=3D"140" align=3D"left">#LOGO_RUBRIQUE </td>
  </tr>
  <BOUCLE_Menu_ENVIR(RUBRIQUES){id_parent}{exclus}{unique}>
  <tr>=20
    <td width=3D"140" align=3D"left">
<!-- ici on gere l affichage du calque correspondant a la cellule du =
tableau=20
le calque contenant les articles se nomme div#ID_RUBRIQUE
-->

<DIV =
onmouseover=3D"afficheCalque('div#ID_RUBRIQUE');setToAnchor('#ID_RUBRIQUE=
','#ID_RUBRIQUE','div#ID_RUBRIQUE')" =
onmouseout=3D"cacheCalque('div#ID_RUBRIQUE')" >=20
        <a href=3D"#URL_RUBRIQUE" =
onmouseover=3D"afficheCalque('div#ID_RUBRIQUE')" =
onmouseout=3DcacheCalque('div#ID_RUBRIQUE')>[(#LOGO_RUBRIQUE|left)]</a>
<!-- ici r=E9side une tr=E9s bonne astuce, on met en place une ancre =
dont l unique r=F4le est de permettre au script de recuperer la position =
du logo_rubrique ou autre sur la page et ainsi de positionner le div la =
ou il faut
-->
<A name=3D"#ID_RUBRIQUE"></A>

<!-- ici on cr=E9e autant de calque que de rubrique ou sous rubrique, =
en recuperant lid de la rubrqiue pour l identifier, puis on fait une =
boucle sur les articles ou ce quon veut
-->
        <div id=3D"div#ID_RUBRIQUE" =
onMouseOver=3D"afficheCalque('div#ID_RUBRIQUE')" =
style=3D"position:absolute; left:150px; top:31px; width:160px; =
height:97px; visibility: =
hidden;"onMouseOut=3D"cacheCalque('div#ID_RUBRIQUE')">=20
          <table width=3D"98%" border=3D"0" align=3D"center" =
cellpadding=3D"0" cellspacing=3D"0">
            <BOUCLE_art(ARTICLES){id_rubrique}>
            <tr>=20
              <td onMouseOut=3D"style.backgroundColor=3D''; =
style.color=3D'#000000' ; style.border=3D'0 solid black'"=20
onMouseOver=3D"style.backgroundColor=3D'#FFFF99'; =
style.color=3D'#ffffff' ; style.border=3D'0 solid #CCCCCC'"><font =
color=3D"#333333" size=3D"1" face=3D"Arial"><a =
onMouseOver=3D"afficheCalque('div#ID_RUBRIQUE')"=20
              onMouseOut=3D"cacheCalque('div#ID_RUBRIQUE')" =
href=3D"#URL_ARTICLE">#TITRE</a></font></td>
            </tr>
            <font color=3D"#333333" face=3D"Arial"></font>=20
            </BOUCLE_art>
          </table>
        </div>
        </BOUCLE_Menu_ENVIR>
        </BOUCLE_ENVIRONNEMENT>
      </DIV></td>
  </tr>
  <tr>=20
    <td height=3D"79" align=3D"left">&nbsp;</td>
  </tr>
</table>
</body>
</html>

------=_NextPart_000_002E_01C2B700.9EBC0380
Content-Type: application/octet-stream;
  name="navigation.php3"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
  filename="navigation.php3"

<?php
$fond = "navigation";
$delais = 0 * 3600;

include ("inc-public.php3");

?>

------=_NextPart_000_002E_01C2B700.9EBC0380
Content-Type: application/x-javascript;
  name="position_Div.js"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
  filename="position_Div.js"

// JavaScript Document

var ns4 =3D (document.layers)? true:false; //NS 4=20
var ie4 =3D (document.all)? true:false; //IE 4=20
var dom =3D (document.getElementById)? true:false; //DOM=20

function setToAnchor(ID_Anchor,Name_Anchor,ID_Div)
//Fonction permettant de positionner un DIV =E0 une position occup=E9e =
par une ancre
    {
var DivLeft =3D 0; //Position du Div par rapport au c=F4t=E9 gauche de =
la page=20
var DivTop =3D 0; //Position du Div par rapport au haut de la page=20
    if (dom)
        {
        pos =3D document.getElementById(ID_Anchor);
        DivLeft =3D getLeft(pos);
        DivTop =3D getTop(pos);
        document.getElementById(ID_Div).style.left =3D DivLeft;
        document.getElementById(ID_Div).style.top =3D DivTop;
        }
    else if (ie4)=20
        {
        pos =3D document.all[ID_Anchor];
        DivLeft =3D getLeft(pos);
        DivTop =3D getTop(pos);
        document.all[ID_Div].style.posLeft =3D DivLeft;
        document.all[ID_Div].style.posTop =3D DivTop;
        }
    else if (ns4)
        {
        pos =3D document.anchors[Name_Anchor];
        DivLeft =3D pos.x;
        DivTop =3D pos.y;
        document.layers[ID_Div].pageX =3D DivLeft;
        document.layers[ID_Div].pageY =3D DivTop;
        }
    }

function getLeft(MyObject)
//Fonction permettant de conna=EEtre la position d'un objet
//par rapport au bord gauche de la page.
//Cet objet peut =EAtre =E0 l'int=E9rieur d'un autre objet.
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetLeft + getLeft(MyObject.offsetParent));
    else=20
        return (MyObject.offsetLeft);
    }=20
function getTop(MyObject)
//Fonction permettant de conna=EEtre la position d'un objet
//par rapport au bord haut de la page.
//Cet objet peut =EAtre =E0 l'int=E9rieur d'un autre objet.
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetTop + getTop(MyObject.offsetParent));
    else
        return (MyObject.offsetTop);
    }

function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}
------=_NextPart_000_002E_01C2B700.9EBC0380--

En réponse à la question de Christophe sur "l'interpretation du php dans les pages squelettes (est- ce que ca court-circuite les fonctions de cache de spip ?)" et en complément à la réponse de frdm,
voici un article en cours de rédaction sur spip_contrib.

C'est encore sujet à enrichissements et corrections si il y a lieu !
JLuc

{{ Au début il y a le squelette }}

Supposons donc un squelette dans lequel se mêlent avec allégresse les instructions de diverses nature : HTML bien sur, spip aussi, mais aussi php et javascript.

Bien sur, dans un coin du site, il y a aussi la base de donnée MySql qui contient les infos "contenu" des articles.

{{ Puis souffle le vent dans le cache }}

Ensuite il faut savoir qu'il y a un cache avec spip : chaque page est précalculée lors de son premier affichage. Ce résultat est stocké dans le cache, et c'est ce cache qui est ensuite appelé pour affichage.

La moulinette spip ne fait QUE traiter le code spip. Pour chaque boucle, spip interroge la base de donnée et génère en ligne le résultat (développé) correspondant aux réponses de la requete générée par la boucle appliquée à la base de donnée.

{{ A bord du cache }}

Dans le cache, il n'y a plus aucune instruction SPIP, car elles ont toutes été calculées. Par contre, il y a encore tout le code php et javascript qui est traité par spip exactement comme du simple texte, au même titre que du HTML.

Il y a 2 conséquences à cela :
- si du code PHP ou jaja est contenu dans les critères d'une boucle, il ne sera PAS exécuté et ne pourra PAS être pris en compte dans le calcul de la boucle. Le résultat sera donc erroné.
- si du code PHP ou jaja est contenu à l'intérieur du corps d'une boucle, il sera dupliqué en autant d'exemplaires que la boucle fera d'itération, exactement comme tout le reste du contenu. Il s'exécutera donc à chaque fois.

{{ Pour l'affichage }}

C'est le contenu du cache qui est appelé.
- Le contenu PHP s'exécute sur le serveur et génère la page qui que reçoit le navigateur de l'utilisateur (c'est pour lui qu'on fait tout ça, faut pas l'oublier!).
- le contenu java s'exécute dans le navigateur.
_ Ouf !

{{ En conclusion }}

Pour bien mélanger PHP java et spip, il faut se souvenir de l'ordre de préséance entre eux :
- SPIP d'abord développe les boucles
- le cache mémorise ce résultat intermédiaire
- PHP exécute le cache et sert la page
- JAVA s'exécute dans le navigateur

Le motto ce serait donc :
{{{ Spip d'abord ! }}}

JLuc

segura.christophe@free.fr wrote:

Salut et merci,
oui, c est effectivement une solution interessante, l'a l'avantage de s'effectuer cote client, ton script fonctionne sur ie >=5, netscape >=6, et meme opera 6... Par contre la propriété 'getElementById' est assez recente me semble t il, elle doit pas trop fonctionner sur les navigateurs anciens ou iconoclastes...
Vais quand meme certainement utiliser un truc dans le genre la si personne ne repond a ma question sur l'interpretation du php dans les pages squelettes (est-
ce que ca court-circuite les fonctions de cache de spip ?).

En réponse à Gabriel Radic <gabrielradic@timbru.com>:

L'article est tres clair, en gros dans le cache, y'a un fichier php qui est
interprete par le serveur, y'a plus de spip...
merci
En réponse à JLuc <JLUC@NO-LOG.ORG>:

En réponse à la question de Christophe sur "l'interpretation du php
dans les pages squelettes (est- ce que ca court-circuite les fonctions

de cache de spip ?)" et en complément à la réponse de frdm,
voici un article en cours de rédaction sur spip_contrib.

C'est encore sujet à enrichissements et corrections si il y a lieu !
JLuc

{{ Au début il y a le squelette }}

Supposons donc un squelette dans lequel se mêlent avec allégresse les
instructions de diverses nature : HTML bien sur, spip aussi, mais aussi

php et javascript.

Bien sur, dans un coin du site, il y a aussi la base de donnée MySql qui

contient les infos "contenu" des articles.

{{ Puis souffle le vent dans le cache }}

Ensuite il faut savoir qu'il y a un cache avec spip : chaque page est
précalculée lors de son premier affichage. Ce résultat est stocké dans

le cache, et c'est ce cache qui est ensuite appelé pour affichage.

La moulinette spip ne fait QUE traiter le code spip. Pour chaque boucle,

spip interroge la base de donnée et génère en ligne le résultat
(développé) correspondant aux réponses de la requete générée par la
boucle appliquée à la base de donnée.

{{ A bord du cache }}

Dans le cache, il n'y a plus aucune instruction SPIP, car elles ont
toutes été calculées. Par contre, il y a encore tout le code php et
javascript qui est traité par spip exactement comme du simple texte, au

même titre que du HTML.

Il y a 2 conséquences à cela :
- si du code PHP ou jaja est contenu dans les critères d'une boucle, il

ne sera PAS exécuté et ne pourra PAS être pris en compte dans le calcul

de la boucle. Le résultat sera donc erroné.
- si du code PHP ou jaja est contenu à l'intérieur du corps d'une
boucle, il sera dupliqué en autant d'exemplaires que la boucle fera
d'itération, exactement comme tout le reste du contenu. Il s'exécutera

donc à chaque fois.

{{ Pour l'affichage }}

C'est le contenu du cache qui est appelé.
- Le contenu PHP s'exécute sur le serveur et génère la page qui que
reçoit le navigateur de l'utilisateur (c'est pour lui qu'on fait tout
ça, faut pas l'oublier!).
- le contenu java s'exécute dans le navigateur.
_ Ouf !

{{ En conclusion }}

Pour bien mélanger PHP java et spip, il faut se souvenir de l'ordre de

préséance entre eux :
- SPIP d'abord développe les boucles
- le cache mémorise ce résultat intermédiaire
- PHP exécute le cache et sert la page
- JAVA s'exécute dans le navigateur

Le motto ce serait donc :
{{{ Spip d'abord ! }}}

JLuc

segura.christophe@free.fr wrote:

>Salut et merci,
>oui, c est effectivement une solution interessante, l'a l'avantage de

>s'effectuer cote client, ton script fonctionne sur ie >=5, netscape
>=6, et
>meme opera 6... Par contre la propriété 'getElementById' est assez
recente me
>semble t il, elle doit pas trop fonctionner sur les navigateurs anciens
ou
>iconoclastes...
>Vais quand meme certainement utiliser un truc dans le genre la si
personne ne
>repond a ma question sur l'interpretation du php dans les pages
squelettes (est-
>ce que ca court-circuite les fonctions de cache de spip ?).
>
>
>En réponse à Gabriel Radic <gabrielradic@timbru.com>:
>
>
>
>

From jpbe@netcourrier.com Wed Jan 8 11:49:53 2003

Return-Path: <jpbe@netcourrier.com>
Received: from postfix3-2.free.fr (postfix3-2.free.fr [213.228.0.169])
  by miel.brainstorm.fr (Postfix) with ESMTP id 251F21CC9D
  for <spip@rezo.net>; Wed, 8 Jan 2003 11:49:53 +0100 (CET)
Received: from jpb (lyon-1-a7-62-147-18-130.dial.proxad.net [62.147.18.130])
  by postfix3-2.free.fr (Postfix) with SMTP id 2367EC198
  for <spip@rezo.net>; Wed, 8 Jan 2003 11:49:51 +0100 (CET)
Message-ID: <00b601c2b704$0bc7f080$8212933e@jpb>
From: "JP" <jpbe@netcourrier.com>
To: <spip@rezo.net>
Date: Wed, 8 Jan 2003 11:51:11 +0100
MIME-Version: 1.0
Content-Type: multipart/alternative;
  boundary="----=_NextPart_000_00B1_01C2B70C.3D3A0BA0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
Subject: [Spip] #LOGIN_PUBLIC avec SPIP 1.5 et 1.5.1
X-BeenThere: spip@rezo.net
X-Mailman-Version: 2.1rc1+
Precedence: list
List-Id: SPIP : questions/reponses <spip.rezo.net>
List-Unsubscribe: <http://listes.rezo.net/mailman/listinfo/spip&gt;,
  <mailto:spip-request@rezo.net?subject=unsubscribe>
List-Archive: <Discuter chez rezo.net;
List-Post: <mailto:spip@rezo.net>
List-Help: <mailto:spip-request@rezo.net?subject=help>
List-Subscribe: <http://listes.rezo.net/mailman/listinfo/spip&gt;,
  <mailto:spip-request@rezo.net?subject=subscribe>
X-List-Received-Date: Wed, 08 Jan 2003 10:49:53 -0000
Status: O
Content-Length: 5376
Lines: 137

C'est un message de format MIME en plusieurs parties.

------=_NextPart_000_00B1_01C2B70C.3D3A0BA0
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Bonjour,

J'ai commenc=E9 =E0 utiliser SPIP pour cr=E9er des sites associatifs (En =
passant, bravo et merci aux d=E9veloppeurs).

J'ai quelques soucis avec le #LOGIN_PUBLIC.
Je souhaite que certaines pages du site public ne soient accessibles =
qu'=E0 des utilisateurs identifi=E9s (statut =3D visiteur et non =
r=E9dacteur).
J'ai proc=E9d=E9 comme c'est indiqu=E9 dans la doc et sur la liste :

- J'ai associ=E9 un forum avec abonnement =E0 un article pour pouvoir =
cr=E9er des comptes "visiteur"

- J'ai mis le code suivant sur les pages concern=E9es :

    <?php if ($auteur_session) { ?>
    ... code html et spip de la page
    <?php } else { ?>
    ... #LOGIN_PUBLIC
    <?php } ?>

A condition de faire attention =E0 ce qu'il n'y ait pas de code php =E0 =
l'int=E9rieur de la page (ce qui est le cas avec #URL_LOGOUT par =
exemple), tout fonctionne bien avec Spip 1.5 mais :

- le lien "s'inscrire", qui n'a pas lieu d'=EAtre dans mon cas, =
s'affiche sur la page login : y-a-t-il un moyen pour supprimer ce lien =
autre que de modifier inc_login.php3 ?

- y-a-t-il un moyen pour modifier la pr=E9sentation des infos =
affich=E9es (texte et style) sur la page login autre que de modifier =
inc_login.php3 ?=20

- apr=E8s passage =E0 Spip 1.5.1 la page login priv=E9 s'affiche apr=E8s =
le login public au lieu de la page prot=E9g=E9e : comment rem=E9dier =E0 =
ce pb ? (=E0 noter que lors du passage =E0 1.5.1, spip ne m'a rien =
demand=E9 lorsque je suis all=E9 sur /ecrire contrairement =E0 ce qui =
est indiqu=E9 sur la doc).

Merci d'avance,

JP

------=_NextPart_000_00B1_01C2B70C.3D3A0BA0
Content-Type: text/html;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 5.50.4807.2300" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>Bonjour,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>J'ai commenc=E9 =E0 utiliser SPIP pour =
cr=E9er des sites=20
associatifs (</FONT><FONT face=3DArial size=3D2>En passant, bravo et =
merci aux=20
d=E9veloppeurs).</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>J'ai quelques soucis avec le=20
#LOGIN_PUBLIC.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Je souhaite que&nbsp;certaines pages du =
site public=20
ne soient accessibles qu'=E0 des utilisateurs identifi=E9s (statut =3D =
visiteur et non=20
r=E9dacteur).</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>J'ai proc=E9d=E9 comme c'est indiqu=E9 =
dans la doc et sur=20
la liste :</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>- J'ai associ=E9 un forum avec =
abonnement =E0 un=20
article pour pouvoir cr=E9er des comptes "visiteur"</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>- J'ai mis le code suivant sur les =
pages concern=E9es=20
:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; &lt;?php if =
($auteur_session) {=20
?&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; ... code html et =
spip de la=20
page</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; &lt;?php } else {=20
?&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; ... =
#LOGIN_PUBLIC</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>&nbsp;&nbsp;&nbsp; &lt;?php } =
?&gt;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>A condition de faire attention =E0 ce =
qu'il n'y ait=20
pas de code php =E0 l'int=E9rieur de la page (ce qui est le cas avec =
#URL_LOGOUT par=20
exemple), tout fonctionne bien avec Spip 1.5 mais :</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>- le lien "s'inscrire", qui n'a pas =
lieu d'=EAtre=20
dans mon cas, s'affiche sur la page login : y-a-t-il un moyen pour =
supprimer ce=20
lien autre que de modifier inc_login.php3 ?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>- y-a-t-il un moyen pour modifier la =
pr=E9sentation=20
des infos affich=E9es (texte et style) sur la page login autre que de =
modifier=20
inc_login.php3 ? </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>- apr=E8s passage =E0 Spip 1.5.1 la =
page login priv=E9=20
s'affiche apr=E8s le login public au lieu de la page prot=E9g=E9e : =
comment rem=E9dier =E0=20
ce pb ? (=E0 noter que lors du passage =E0 1.5.1, spip ne m'a rien =
demand=E9 lorsque=20
je suis all=E9 sur /ecrire contrairement =E0 ce qui est indiqu=E9 sur la =

doc).</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Merci d'avance,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>JP</FONT></DIV></BODY></HTML>

------=_NextPart_000_00B1_01C2B70C.3D3A0BA0--

Bonjour,
oui c 'est exactement ca en fait, le deuxieme exemple qui permet de garder
l'element en cours a sa place dans la liste d'articles (sinon, c'est
emmélatoire de pinceaux pour l'internaute), c 'est la solution coté serveur
avec la "variable php nommée "$ze_article"...
M'en vais couper cette superbe boucle...
Merci.

En réponse à Sylvain <titeuf@lautre.net>:

Salut

je ne suis pas sur d'être dans le sujet mais tu peux peut être
t'inspirer ou utilser :
http://spip-edu.edres74.net/article.php3?id_article=39
regarde je l'utilise à droite : sur une page article j'affiche tous les

articles de la même rubrique en surlignant, l'article en cours, tout en

respectant l'ordre définit (ici = {par num titre} )

segura.christophe@free.fr a écrit:
> L'article est tres clair, en gros dans le cache, y'a un fichier php
qui est
> interprete par le serveur, y'a plus de spip...
> merci

--
           Sylvain
_____________________________
  http://spip-edu.edres74.net
   http://titeuf.lautre.net

From mentalseb@yahoo.fr Wed Jan 8 14:43:43 2003

Return-Path: <mentalseb@yahoo.fr>
Received: from mail.libertysurf.net (mail.libertysurf.net [213.36.80.91])
  by miel.brainstorm.fr (Postfix) with ESMTP id 2DCBB1CC9F
  for <spip@rezo.net>; Wed, 8 Jan 2003 14:43:43 +0100 (CET)
Received: from mentalseb (212.232.4.182) by mail.libertysurf.net (6.5.026)
        id 3E101A570011BC43 for spip@rezo.net; Wed, 8 Jan 2003 14:43:43 +0100
From: =?iso-8859-1?Q?S=E9bastien_B?= <mentalseb@yahoo.fr>
To: <spip@rezo.net>
Subject: =?iso-8859-1?Q?RE_:_=5BSpip=5D_Boucle_Hi=E9rarchie=5Fpour_mots_cl=E9s?=
Date: Wed, 8 Jan 2003 14:43:36 +0100
Message-ID: <00e101c2b71b$f1fced00$0200a8c0@mentalseb>
MIME-Version: 1.0
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook, Build 10.0.2627
In-Reply-To: <3E1C1973.7090702@lautre.net>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
Importance: Normal
X-BeenThere: spip@rezo.net
X-Mailman-Version: 2.1rc1+
Precedence: list
List-Id: SPIP : questions/reponses <spip.rezo.net>
List-Unsubscribe: <http://listes.rezo.net/mailman/listinfo/spip&gt;,
  <mailto:spip-request@rezo.net?subject=unsubscribe>
List-Archive: <Discuter chez rezo.net;
List-Post: <mailto:spip@rezo.net>
List-Help: <mailto:spip-request@rezo.net?subject=help>
List-Subscribe: <http://listes.rezo.net/mailman/listinfo/spip&gt;,
  <mailto:spip-request@rezo.net?subject=subscribe>
X-List-Received-Date: Wed, 08 Jan 2003 13:43:43 -0000
Status: O
Content-Length: 1500
Lines: 53

La m=EAme chose pour les mots cl=E9s, =E7a donne quoi ??

-----Message d'origine-----
De=A0: spip-bounces+mentalseb=3Dyahoo.fr@rezo.net
[mailto:spip-bounces+mentalseb=3Dyahoo.fr@rezo.net] De la part de =
Sylvain
Envoy=E9=A0: mercredi 8 janvier 2003 13:29
=C0=A0: Voldor
Cc=A0: Liste SPIP
Objet=A0: Re: [Spip] Boucle Hi =E9rarchie

Voldor a =E9crit:

Bonjour,
=20
Une question de n=E9ophyte ou presque...
Je voudrais en haut des pages mettre un rep=E8re du type :
=20
Accueil -> Rubrique -> Rubrique -> Rubrique

oui c'est assez "basique" =E0 le m=E9rite d'=EAtre =E0 mon niveau ;-p
en "clair" tu veux afficher l'arborescence ...

------- copie tel quel -------
Vous &ecirc;tes ici : <a href=3D"#URL_SITE_SPIP">Accueil</a>
  <BOUCLE_hier(HIERARCHIE)>
  &gt; <a href=3D"#URL_RUBRIQUE">[(#TITRE)]</a>
  </BOUCLE_hier>
&gt; [(#TITRE)]
----------------------------

=E0 mettre dans ta boucle principale :
  - article.html
<BOUCLE_principale(ARTICLES) {id_article}>
  - rubrique.html
<BOUCLE_principale(RUBRIQUES) {id_rubrique}>

bon pis un conseil tout de m=EAme vu le niveau, de la question :
-> lit la doc (sans vouloir te vexer)

bonne continuation :wink:
--=20
           Sylvain
_____________________________
  http://spip-edu.edres74.net
   http://titeuf.lautre.net

_______________________________________________
liste spip
spip@rezo.net - d=E9sabonnement : spip-off@rezo.net
Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.uzine.net/spip