Transmission de variable à un <INCLURE>

Ce petit bout de code me donne du fil à retordre.

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{id_contact}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

La variable d'environnement est bien récupéré dans la boucle mais n'est pas transmise au squelette inc_contact qui lui est bien affiché.

Quelqu'un y voit-il une erreur ou une autre solution?

Merci

François de Montlivault <fdm <at> ufe.be> writes:

Ce petit bout de code me donne du fil à retordre.

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{id_contact}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

Je n'ai pas testé, mais quelque chose comme-suit devrait marcher :

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{#ENV{id_contact}}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

:slight_smile:

FredoMkb a écrit :

François de Montlivault <fdm <at> ufe.be> writes:

Ce petit bout de code me donne du fil à retordre.

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{id_contact}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

Je n'ai pas testé, mais quelque chose comme-suit devrait marcher :

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{#ENV{id_contact}}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

:slight_smile:

Hélas cela ne marche pas. En plus avec cette formulation je ne vois pas comment l'inclusion reconnaîtrait la variable id_contact.

Le 18 août 06 à 09:11, François de Montlivault a écrit :

FredoMkb a écrit :

François de Montlivault <fdm <at> ufe.be> writes:

Ce petit bout de code me donne du fil à retordre.

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{id_contact}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

Je n'ai pas testé, mais quelque chose comme-suit devrait marcher :

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{#ENV{id_contact}}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

:slight_smile:

Hélas cela ne marche pas. En plus avec cette formulation je ne vois pas
comment l'inclusion reconnaîtrait la variable id_contact.

Bon, je n'ai pas testé non plus, mais il me paraît logique que la deuxième formulation ne fonctionne pas, car il faut bien passer à INCLURE UNE VARIABLE et non son contenu ...

Alors, si tu faisais : <INCLURE<{fond=inc_contact}{id_contact=#ID_CONTACT}> ?

En effet, le fait d'avoir affecté #ENV{id_contact} à ta variable au-dessus devrait avoir influencé la balise, non ?

Voilà une petite idée ... en espérant t'avoir été utile ...

Marc

_______________________________________________
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.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

Marc VALLETEAU de MOULLIAC a écrit :

Le 18 août 06 à 09:11, François de Montlivault a écrit :

FredoMkb a écrit :

François de Montlivault <fdm <at> ufe.be> writes:

Ce petit bout de code me donne du fil à retordre.

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{id_contact}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

Je n'ai pas testé, mais quelque chose comme-suit devrait marcher :

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{#ENV{id_contact}}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

:slight_smile:

Hélas cela ne marche pas. En plus avec cette formulation je ne vois pas
comment l'inclusion reconnaîtrait la variable id_contact.

Bon, je n'ai pas testé non plus, mais il me paraît logique que la deuxième formulation ne fonctionne pas, car il faut bien passer à INCLURE UNE VARIABLE et non son contenu ...

Alors, si tu faisais : <INCLURE<{fond=inc_contact} {id_contact=#ID_CONTACT}> ?

En effet, le fait d'avoir affecté #ENV{id_contact} à ta variable au- dessus devrait avoir influencé la balise, non ?

Voilà une petite idée ... en espérant t'avoir été utile ...

Marc

_______________________________________________
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.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

J'avais aussi essayé cette formulation mais elle me donne le même résultat qu'avec le paramètre {id_contact}.

J'ajoute que si j'incorpore directement le contenu de l'inclure, je n'ai aucun souci (mais cela ne m'arrange pas).

FDM

Le 18 août 06 à 10:03, François de Montlivault a écrit :

Marc VALLETEAU de MOULLIAC a écrit :

Le 18 août 06 à 09:11, François de Montlivault a écrit :

FredoMkb a écrit :

François de Montlivault <fdm <at> ufe.be> writes:

Ce petit bout de code me donne du fil à retordre.

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{id_contact}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

Je n'ai pas testé, mais quelque chose comme-suit devrait marcher :

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{#ENV{id_contact}}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

:slight_smile:

Hélas cela ne marche pas. En plus avec cette formulation je ne vois
pas
comment l'inclusion reconnaîtrait la variable id_contact.

Bon, je n'ai pas testé non plus, mais il me paraît logique que la
deuxième formulation ne fonctionne pas, car il faut bien passer à
INCLURE UNE VARIABLE et non son contenu ...

Alors, si tu faisais : <INCLURE<{fond=inc_contact}
{id_contact=#ID_CONTACT}> ?

En effet, le fait d'avoir affecté #ENV{id_contact} à ta variable au-
dessus devrait avoir influencé la balise, non ?

Voilà une petite idée ... en espérant t'avoir été utile ...

Marc

_______________________________________________
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.spip.net/
irc://irc.freenode.net/spip
FAQ : http://www.spip-contrib.net/spikini/FaQ

J'avais aussi essayé cette formulation mais elle me donne le même
résultat qu'avec le paramètre {id_contact}.

J'ajoute que si j'incorpore directement le contenu de l'inclure, je n'ai
aucun souci (mais cela ne m'arrange pas).

Une autre solution qui marche bien, mais elle nécessite un peu de php ...

Dans la page qui appelle l'INCLURE, tu récupères dans une variable l'id_contact qui t'intéresse :

<?php $contact=#ENV{id_contact}; ?>

Ensuite, dans ta page inc_contact, tu auras à ta disposition la variable pour en faire ce que tu veux, par exemple :

<BOUCLE_xxx(AUTEURS){id_auteur=<?php echo $contact; ?>}>

Je pense que là, tu n'auras plus de pb ...

J'ai utilisé cette technique pour contrôler un affichage dans un inclure, du genre

<?php if ($mot = "xxx") { ?>
<BOUCLE1 ....>
<?} else { ?>
<BOUCLE2 ...>
<?} ?>

L'inconvénient est que le php est interprété à chaque appel ... mais, si tu disposes d'un serveur confortable ...

A+

Marc

spip-bounces@rezo.net wrote:

<BOUCLE_xxx(AUTEURS){id_auteur=<?php echo $contact; ?>}>

9a ne fera que trois fois cette semaine qu'on indiquera cette page :
SPIP, PHP et Javascript sont dans un bateau - SPIP-Contrib qui explique
pourquoi ce test ne fonctionne pas.

François de Montlivault a écrit :

Ce petit bout de code me donne du fil à retordre.

<BOUCLE_contact(ADM_CONTACTS){id_contact=#ENV{id_contact}}>
<INCLURE {fond=inc_contact}{id_contact}>
</BOUCLE_contact>
<!-- Formulaire en ajout si pas de id_contact-->
Pas de contact
<//B_contact>

La variable d'environnement est bien récupéré dans la boucle mais n'est pas transmise au squelette inc_contact qui lui est bien affiché.

Quelqu'un y voit-il une erreur ou une autre solution?

Merci

Réponse:
Ne pas oublier de mettre une boucle dans l'INCLURE !!!!!
Elémentaire mon cher Watson !