passer une variable php dans mes_fonction.php3

Salut,
Je cherche une solution au problème suivant :

Comment on peut passer une variable de php dans une boucle, qu’on peut l’évaluer par une fonction dans mes_fonction.php3 ?

Exemple qui ne marche pas :

< ?

global $rub_nr;

$rub_nr = $id_rubrique;

?>

<BOUCLE_rub(RUBRIQUES)(tout)>

[(#TITRE|print_rubrique)]

</BOUCLE_rub>

dans fichier mes_fonction.php3 :

< ?

function print_rubrique($st){

global $id_rubrique, $url_rubrique, $rub_nr;

if($id_rubrique == $rub_nr)

return $st;

else

return “<a href=\”$url_rubrique?id_rubrique=$id_rubrique\”>$st”;

}

?>

La fonction ne reconnaît pas la variable $rub_nr !?!

@ Armand Turpel <armand@a-tu.net> :

Comment on peut passer une variable de php dans une boucle, qu'on peut
l'évaluer par une fonction dans mes_fonction.php3 ?

essaie peut-être ainsi :

<?

function print_rubrique($st){
    if(#ID_RUBRIQUE == $GLOBALS['rub_nr'])
        return $st;
    else
        return "<a href=\"#URL_RUBRIQUE?id_rubrique=$ID_RUBRIQUE\">$st</a>";
}

?>

La fonction ne reconnaît pas la variable $rub_nr !?!

En réalité $rub_nr est bien là, mais ce sont $id_rubrique et $id_article qui
ont été traités par spip et qui ne sont pas utilisables. En revanche le
numéro de la rubrique est inscrit dans le cache via #ID_RUBRIQUE

Pour mieux comprendre, tu peux ouvrir le fichier CACHE/x/xxxxxx qui
correspond à ta page.

-- Fil

Désol, Fil

Ca marche pas. Spip ne reconnait pas id_rubrique si on veut l'utiliser dans
mes_fonction.php3 à partir d'une boucle.

<?
$rub_nr = $id_rubique;
?>

<BOUCLE_rub(RUBRIQUES){tout}>
    [(#TITRE|print_rubrique)]
</BOUCLE_rub>

function print_rubrique($st){
global $id_rubrique;
    if($id_rubrique == $GLOBALS["rub_nr"])
        return $st;
    else
        return "<a href=\"rubrique.php3?id_rubrique=$id_rubrique\">$st</a>";
}
----------------------------------------------------------------------------
-----------------------------

----- Original Message -----
From: "Fil" <fil@rezo.net>
To: "Armand Turpel" <armand@a-tu.net>
Cc: <spip@rezo.net>
Sent: Saturday, January 26, 2002 10:58 PM
Subject: Re: [Spip] passer une variable php dans mes_fonction.php3

@ Armand Turpel <armand@a-tu.net> :
> Comment on peut passer une variable de php dans une boucle, qu'on peut
> l'évaluer par une fonction dans mes_fonction.php3 ?

essaie peut-être ainsi :

<?

function print_rubrique($st){
    if(#ID_RUBRIQUE == $GLOBALS['rub_nr'])
        return $st;
    else
        return "<a

href=\"#URL_RUBRIQUE?id_rubrique=$ID_RUBRIQUE\">$st</a>";

}

?>

> La fonction ne reconnaît pas la variable $rub_nr !?!

En réalité $rub_nr est bien là, mais ce sont $id_rubrique et $id_article

qui

ont été traités par spip et qui ne sont pas utilisables. En revanche le
numéro de la rubrique est inscrit dans le cache via #ID_RUBRIQUE

Pour mieux comprendre, tu peux ouvrir le fichier CACHE/x/xxxxxx qui
correspond à ta page.

-- Fil

_______________________________________________
spip mailing list
spip@rezo.net
http://listes.rezo.net/mailman/listinfo/spip

Décidément ! J'étais vraiment crevé ce week-end, d'où mes tuyaux eux aussi
crevés.

La solution (testée, hein!), c'est de mettre le script php dans le squelette
(puisque l'évaluation se produit au moment où la page est appelée).

comme suit :

<BOUCLE_rub(RUBRIQUES){tout}>
    <?
        if (#ID_RUBRIQUE == $GLOBALS["rub_nr"]) { ?>
        <a href="#URL_RUBRIQUE">#TITRE</a>
    <? } else { ?>
        #TITRE
    <? } ?>
</BOUCLE_rub>

@ Armand Turpel <armand@a-tu.net> :

Désol, Fil

-- Fil

Je suppose qu'elle doit être déclarée "global"...

Ca marche pas. Spip ne reconnait pas id_rubrique si on veut l'utiliser

dans

mes_fonction.php3 à partir d'une boucle.

<?
$rub_nr = $id_rubique;
?>

Où peut-on trouver la liste et le nommage dans GLOBALS
des variables SPIP utilisables ?
A+
   François

----- Original Message -----
From: "Fil" <fil@rezo.net>
To: "Armand Turpel" <armand@a-tu.net>
Cc: <spip@rezo.net>
Sent: Monday, January 28, 2002 12:22 PM
Subject: Re: [Spip] passer une variable php dans mes_fonction.php3

Décidément ! J'étais vraiment crevé ce week-end, d'où mes tuyaux eux

aussi

crevés.

La solution (testée, hein!), c'est de mettre le script php dans le

squelette

(puisque l'évaluation se produit au moment où la page est appelée).

comme suit :

<BOUCLE_rub(RUBRIQUES){tout}>
    <?
        if (#ID_RUBRIQUE == $GLOBALS["rub_nr"]) { ?>
        <a href="#URL_RUBRIQUE">#TITRE</a>
    <? } else { ?>
        #TITRE
    <? } ?>
</BOUCLE_rub>

@ Armand Turpel <armand@a-tu.net> :
> Désol, Fil

-- Fil

_______________________________________________
spip mailing list
spip@rezo.net
http://listes.rezo.net/mailman/listinfo/spip