un peu hors sujet mais SPIP, PHP et fonction inclure

Salut,

Franchement cette question n'a pas sa place sur spip-dev.

Quand tu utilises <inclure>, tu n'inclus pas une URL du Web mais juste
un fichier du disque dur. La syntaxe "toto.php3?id_mot=86" ne fonctionne
donc pas, pas plus que dans un explorateur de fichiers sur ton
ordinateur.

La syntaxe correcte est (cf. documentation ;-)) :

<INCLURE(toto.php3) {id_mot=86}>

Amicalement

Antoine.

je retente ma chance sur spip-dev en espérant qu'il y a plus de
maitres es php que sur spip tout court :wink:

En gros je veux afficher à la suite de la selection d'un mot clef dans
une liste déroulante sur la page précédente, soit une phrase "il n'y a
pas de résulat dans le département (=mot clef) choisi" si il n'y a pas
d'article dans l'ensemble d'un secteur donné, soit l'arborescence de
ce secteur avec les rubriques et sous rubriques et les articles dans
chacune d'icelles_ci.

Pour afficher l'arborecence et les articles j'ai un ensemble de
boucles qui fonctionne très bien. Pour faire le tri dans les deux
solutions, j'ai utilisé If et elseif.
Mais j'obtiens le message d'erreur suivant dans le cas où il y a des
articles dans les sous rubrqiues de mon secteur :
Warning: main(structureetstages.php3?id_mot=86): failed to open
stream: No such file or directory in
/home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524

Warning: main(): Failed opening 'structureetstages.php3?id_mot=86' for
inclusion (include_path='.:/usr/local/lib/php') in
/home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524

Pourtant j'ai téléchargé au même niveau le structureetstages.php3 qui
appelle le .html....Quelqu'un peut-il/elle me dire pourquoi le include
ne fonctionne pas ? Je ne comprends pas bien qui a la priorité sur qui
entre le php et les boucles SPIP dans la moulinette de la page ?

Merci d'avance.
SC
ps : quand je serai meilleure en php je viendrai aider au
developpement mais j'ai des progrès à faire :wink:

Arg,
mes excuses si c'est pas pour spip-dev.
Mais, j'ai lu la doc, j'ai même tenté un inclure avec une syntaxe dans les
règles de l'art dans mes boucles (imbriquées), mais ca ne marche pas (sauf
erreur de ma part) parce que je dois gérer cette foutue fourche logique,
avec deux affichages différents si il y a ou non au moins un article dans
l'arborescence et afficher l'arborescence ou non.
Je peux pas utiliser "inclure" dans un opérateur logique en php ? si ?
Quand je mets elseif, echo inclure, il n'y a pas d'application et d'appel de
la fonction PHP juste le texte qui est présent sur la page d'affichage coté
site public (et c'est pas facile de gerer un inclure dans des texte
conditionnel sur des boucles en boucles)....mais d'un autre côté si je passe
en "include" le fichier n'a pas l'air de pouvoir être inséré, du coup j'ai
pas de solution à ce qui me semblait au départ un problème relativement
simple, snif....
Du coup je crois que je vais abandonner ca, tant pis .
Merci quand même
Sarah
----- Original Message -----
From: "Antoine" <antoine@rezo.net>
To: "Spip" <spip@rezo.net>
Sent: Tuesday, September 16, 2003 2:59 AM
Subject: [Spip] Re: [spip-dev] un peu hors sujet mais SPIP,PHP et fonction
inclure

Salut,

Franchement cette question n'a pas sa place sur spip-dev.

Quand tu utilises <inclure>, tu n'inclus pas une URL du Web mais juste
un fichier du disque dur. La syntaxe "toto.php3?id_mot=86" ne fonctionne
donc pas, pas plus que dans un explorateur de fichiers sur ton
ordinateur.

La syntaxe correcte est (cf. documentation ;-)) :

<INCLURE(toto.php3) {id_mot=86}>

Amicalement

Antoine.

> je retente ma chance sur spip-dev en espérant qu'il y a plus de
> maitres es php que sur spip tout court :wink:
>
> En gros je veux afficher à la suite de la selection d'un mot clef dans
> une liste déroulante sur la page précédente, soit une phrase "il n'y a
> pas de résulat dans le département (=mot clef) choisi" si il n'y a pas
> d'article dans l'ensemble d'un secteur donné, soit l'arborescence de
> ce secteur avec les rubriques et sous rubriques et les articles dans
> chacune d'icelles_ci.
>
> Pour afficher l'arborecence et les articles j'ai un ensemble de
> boucles qui fonctionne très bien. Pour faire le tri dans les deux
> solutions, j'ai utilisé If et elseif.
> Mais j'obtiens le message d'erreur suivant dans le cas où il y a des
> articles dans les sous rubrqiues de mon secteur :
> Warning: main(structureetstages.php3?id_mot=86): failed to open
> stream: No such file or directory in
> /home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524
>
> Warning: main(): Failed opening 'structureetstages.php3?id_mot=86' for
> inclusion (include_path='.:/usr/local/lib/php') in
> /home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524
>
> Pourtant j'ai téléchargé au même niveau le structureetstages.php3 qui
> appelle le .html....Quelqu'un peut-il/elle me dire pourquoi le include
> ne fonctionne pas ? Je ne comprends pas bien qui a la priorité sur qui
> entre le php et les boucles SPIP dans la moulinette de la page ?
>
> Merci d'avance.
> SC
> ps : quand je serai meilleure en php je viendrai aider au
> developpement mais j'ai des progrès à faire :wink:

_______________________________________________
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

Bon,
il y a des choses qui avancent : en corrigeant la syntaxe du ? dans
l'include,
je n'ai plus les warning, j'ai une partie du squelette de l'include,mais pas
les articles comme si le critère de sélection n'était pas pris en compte,
J'ai juste une question, parce que c'est flou dans ma tête comment
fonctionne le PHP et les boucles spip avec les couples de fichiers php/html.
Si je fais dans mon navigateur
http://www.jonglerie-diffusion.com/SPIP/structureetstages.php3?id_mot=86
J'arrive à exécuter correctement le "structureetstages.html" avec le mot
clef "Paris" sélectionné.
Comment faire, en php la même opération sur ce fichier si la fonction
"include" ne fait qu'afficher le contenu de ce fichier ? Y a-t-il une
fonction php qui permettrait d'effectuer la même opération que l'appel par
le lien plus haut ?
merci
sarah
----- Original Message -----
From: "Antoine" <antoine@rezo.net>
To: "Spip" <spip@rezo.net>
Sent: Tuesday, September 16, 2003 2:59 AM
Subject: [Spip] Re: [spip-dev] un peu hors sujet mais SPIP,PHP et fonction
inclure

Salut,

Franchement cette question n'a pas sa place sur spip-dev.

Quand tu utilises <inclure>, tu n'inclus pas une URL du Web mais juste
un fichier du disque dur. La syntaxe "toto.php3?id_mot=86" ne fonctionne
donc pas, pas plus que dans un explorateur de fichiers sur ton
ordinateur.

La syntaxe correcte est (cf. documentation ;-)) :

<INCLURE(toto.php3) {id_mot=86}>

Amicalement

Antoine.

> je retente ma chance sur spip-dev en espérant qu'il y a plus de
> maitres es php que sur spip tout court :wink:
>
> En gros je veux afficher à la suite de la selection d'un mot clef dans
> une liste déroulante sur la page précédente, soit une phrase "il n'y a
> pas de résulat dans le département (=mot clef) choisi" si il n'y a pas
> d'article dans l'ensemble d'un secteur donné, soit l'arborescence de
> ce secteur avec les rubriques et sous rubriques et les articles dans
> chacune d'icelles_ci.
>
> Pour afficher l'arborecence et les articles j'ai un ensemble de
> boucles qui fonctionne très bien. Pour faire le tri dans les deux
> solutions, j'ai utilisé If et elseif.
> Mais j'obtiens le message d'erreur suivant dans le cas où il y a des
> articles dans les sous rubrqiues de mon secteur :
> Warning: main(structureetstages.php3?id_mot=86): failed to open
> stream: No such file or directory in
> /home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524
>
> Warning: main(): Failed opening 'structureetstages.php3?id_mot=86' for
> inclusion (include_path='.:/usr/local/lib/php') in
> /home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524
>
> Pourtant j'ai téléchargé au même niveau le structureetstages.php3 qui
> appelle le .html....Quelqu'un peut-il/elle me dire pourquoi le include
> ne fonctionne pas ? Je ne comprends pas bien qui a la priorité sur qui
> entre le php et les boucles SPIP dans la moulinette de la page ?
>
> Merci d'avance.
> SC
> ps : quand je serai meilleure en php je viendrai aider au
> developpement mais j'ai des progrès à faire :wink:

_______________________________________________
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

Bon ben je me réponds à moi même, ca peut toujours servir.

J'ai trouvé la solution.

Les fonctions php à utiliser ne sont pas le include mais fopen et fpassthru.

Voici la boucle initiale qui permets selon les cas, en ayant choisi un
département d'avoir un message "pas de résultat" ou au contraire les
resultats du département avec l'arborescence :

<!-- Boucle test si articles -->
<BOUCLE_departement(MOTS){id_mot}>
<BOUCLE_secteurs3(RUBRIQUES){id_rubrique=2}><BOUCLE_testarticle(ARTICLES){id
_mot}{branche}></BOUCLE_testarticle></B_testarticle><?php
$nombre="#TOTAL_BOUCLE";
if ($nombre==0)
{echo "Il n'y a pas de propositions de stage dans le département demandé";}

else {
$id_mot=="#ID_MOT";
if (!$fp =
fopen("http://www.jonglerie-diffusion.com/SPIP/structureetstages.php3?id_mot
=#ID_MOT","r")) {

echo "Echec de l'ouverture du fichier";

exit;

}

else {fpassthru($fp);

}
}

?><//B_testarticle></BOUCLE_secteurs3></BOUCLE_departement>

Résultats visible sur
http://www.jonglerie-diffusion.com/SPIP/essaisstage2.php3
choisir le département 75 pour un affichage avec l'arborescence et l'Aisn
pour un affichage sans résultat.
Merci le PHP et ceux qui m'ont donné des pistes.
SC

----- Original Message -----
From: "S.Calas" <s.calas@wanadoo.fr>
To: "Antoine" <antoine@rezo.net>; "Spip" <spip@rezo.net>
Sent: Tuesday, September 16, 2003 11:35 AM
Subject: Re: [Spip] Re: [spip-dev] un peu hors sujet mais SPIP,PHP et
fonction inclure

Bon,
il y a des choses qui avancent : en corrigeant la syntaxe du ? dans
l'include,
je n'ai plus les warning, j'ai une partie du squelette de l'include,mais

pas

les articles comme si le critère de sélection n'était pas pris en compte,
J'ai juste une question, parce que c'est flou dans ma tête comment
fonctionne le PHP et les boucles spip avec les couples de fichiers

php/html.

Si je fais dans mon navigateur
http://www.jonglerie-diffusion.com/SPIP/structureetstages.php3?id_mot=86
J'arrive à exécuter correctement le "structureetstages.html" avec le mot
clef "Paris" sélectionné.
Comment faire, en php la même opération sur ce fichier si la fonction
"include" ne fait qu'afficher le contenu de ce fichier ? Y a-t-il une
fonction php qui permettrait d'effectuer la même opération que l'appel par
le lien plus haut ?
merci
sarah
----- Original Message -----
From: "Antoine" <antoine@rezo.net>
To: "Spip" <spip@rezo.net>
Sent: Tuesday, September 16, 2003 2:59 AM
Subject: [Spip] Re: [spip-dev] un peu hors sujet mais SPIP,PHP et fonction
inclure

>
> Salut,
>
> Franchement cette question n'a pas sa place sur spip-dev.
>
> Quand tu utilises <inclure>, tu n'inclus pas une URL du Web mais juste
> un fichier du disque dur. La syntaxe "toto.php3?id_mot=86" ne fonctionne
> donc pas, pas plus que dans un explorateur de fichiers sur ton
> ordinateur.
>
> La syntaxe correcte est (cf. documentation ;-)) :
>
> <INCLURE(toto.php3) {id_mot=86}>
>
> Amicalement
>
> Antoine.
>
>
> > je retente ma chance sur spip-dev en espérant qu'il y a plus de
> > maitres es php que sur spip tout court :wink:
> >
> > En gros je veux afficher à la suite de la selection d'un mot clef dans
> > une liste déroulante sur la page précédente, soit une phrase "il n'y a
> > pas de résulat dans le département (=mot clef) choisi" si il n'y a pas
> > d'article dans l'ensemble d'un secteur donné, soit l'arborescence de
> > ce secteur avec les rubriques et sous rubriques et les articles dans
> > chacune d'icelles_ci.
> >
> > Pour afficher l'arborecence et les articles j'ai un ensemble de
> > boucles qui fonctionne très bien. Pour faire le tri dans les deux
> > solutions, j'ai utilisé If et elseif.
> > Mais j'obtiens le message d'erreur suivant dans le cas où il y a des
> > articles dans les sous rubrqiues de mon secteur :
> > Warning: main(structureetstages.php3?id_mot=86): failed to open
> > stream: No such file or directory in
> > /home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524
> >
> > Warning: main(): Failed opening 'structureetstages.php3?id_mot=86' for
> > inclusion (include_path='.:/usr/local/lib/php') in
> > /home/jongleri/www/SPIP/CACHE/f/SPI-rec-86-10-4.117f8f on line 524
> >
> > Pourtant j'ai téléchargé au même niveau le structureetstages.php3 qui
> > appelle le .html....Quelqu'un peut-il/elle me dire pourquoi le include
> > ne fonctionne pas ? Je ne comprends pas bien qui a la priorité sur qui
> > entre le php et les boucles SPIP dans la moulinette de la page ?
> >
> > Merci d'avance.
> > SC
> > ps : quand je serai meilleure en php je viendrai aider au
> > developpement mais j'ai des progrès à faire :wink:
>
>
> _______________________________________________
> 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

_______________________________________________
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

S.Calas wrote:

Bon ben je me réponds à moi même, ca peut toujours servir.

J'ai trouvé la solution.

Les fonctions php à utiliser ne sont pas le include mais fopen et fpassthru.

je n'ai jamais un tel code, mais bon, si tu es est satisfait, tout va bien.

personnellement, je persiste a croire que tu n'as pas besoin de php
dans tes boucles.

sans indentation, l'ordre de tes boucles est illisible. Mais c'est vrai
que le html généré par du code spip joli est pas tres lisible non plus,
il faut donc chosir.

le code que tu devrais écrire est sans doute tres proche de celui-ci.
regarde le bien, réfléchi et adapte le si nécessaire. Je ne suis pas
certain que les criteres de selection soient les bons, et je ne peux
pas deviner a ta place lesquels sont les bons.

<!-- Boucle test si articles -->
<BOUCLE_departement(MOTS){id_mot}>
    <BOUCLE_secteurs3(RUBRIQUES){id_rubrique=2}>
       <BOUCLE_testarticle(ARTICLES){id_mot}{branche}>
       </BOUCLE_testarticle>

       <!-- il y a des articles -->

       <INCLURE(structureetstages.php3){id_mot}>

       </B_testarticle>

       Il n'y a pas de propositions de stage dans le département demandé

       <//B_testarticle>

    </BOUCLE_secteurs3>
</BOUCLE_departement>

Trézinteressant ta proposition :), car elle me permet de demandaer une
précision sur texte optionnel après et texte alternatif.

Si j'ai bien compris (?) le texte alternatif s'affiche si la boucle de
sélection n'affiche rien et non pas seulement si il n'y a pas de résultat,
c'est ce que laisse penser l'utilisation de la balise #TOTAL_BOUCLE dans la
doc.
Donc si je suis ce raisonnement le texte conditionnel après ne s'affichera
que si des résultat sont affichés. Or moi avec ma boucle de selection des
articles je ne veux rien afficher ,je veux juste savoir si il existe ou pas
des articles. Donc si je n'affiche aucune balise, et si mon raisonnement est
bon, l'inclure ne devrait jamais etre pris en compte ?
Est-ce que ca se tient ?
En tout cas c'est avec ce raisonnement que je me suis orientée vers le PHP.
Je sais que c'est pas dans la logique SPIP de larder avec du PHP, mais bon
il se trouve que ca marche, que ca fait un jour et demi que je suis dessus
(parce que je suis nulle en PHP) et que je suis satisfaitE :))
Dis moi quand même qi le raisonnement sur l'interprétation des texte après
et avant est bon.
Marci
Sarah
----- Original Message -----
From: "Marc Quinton" <marc.quinton@aviation-civile.gouv.fr>
To: "S.Calas" <s.calas@wanadoo.fr>
Cc: "Spip" <spip@rezo.net>
Sent: Tuesday, September 16, 2003 1:33 PM
Subject: Re: [Spip] Re: [spip-dev] un peu hors sujet mais SPIP, PHP et
fonction inclure

S.Calas wrote:
> Bon ben je me réponds à moi même, ca peut toujours servir.
>
> J'ai trouvé la solution.
>
> Les fonctions php à utiliser ne sont pas le include mais fopen et

fpassthru.

je n'ai jamais un tel code, mais bon, si tu es est satisfait, tout va

bien.

personnellement, je persiste a croire que tu n'as pas besoin de php
dans tes boucles.

sans indentation, l'ordre de tes boucles est illisible. Mais c'est vrai
que le html généré par du code spip joli est pas tres lisible non plus,
il faut donc chosir.

le code que tu devrais écrire est sans doute tres proche de celui-ci.
regarde le bien, réfléchi et adapte le si nécessaire. Je ne suis pas
certain que les criteres de selection soient les bons, et je ne peux
pas deviner a ta place lesquels sont les bons.

<!-- Boucle test si articles -->
<BOUCLE_departement(MOTS){id_mot}>
    <BOUCLE_secteurs3(RUBRIQUES){id_rubrique=2}>
       <BOUCLE_testarticle(ARTICLES){id_mot}{branche}>
       </BOUCLE_testarticle>

       <!-- il y a des articles -->

       <INCLURE(structureetstages.php3){id_mot}>

       </B_testarticle>

       Il n'y a pas de propositions de stage dans le département demandé

       <//B_testarticle>

    </BOUCLE_secteurs3>
</BOUCLE_departement>

S.Calas wrote:

En tout cas c'est avec ce raisonnement que je me suis orientée vers le PHP.
Je sais que c'est pas dans la logique SPIP de larder avec du PHP, mais bon
il se trouve que ca marche, que ca fait un jour et demi que je suis dessus
(parce que je suis nulle en PHP) et que je suis satisfaitE :))
Dis moi quand même qi le raisonnement sur l'interprétation des texte après
et avant est bon.
Marci
Sarah

il suffit de lire la doc, et si on est pas tres sur d'avoir compris,
il faut encore faire quelque TP sur ce sujet. En general, il faut
ecrire quelques boucles simples, le plus simple possible et voir le
comportement en fonction des différents criteres.

je ne dispose pas de plus d'information que ca au sujet des boucles.
Ne pas hesiter a lire et relir cette doc plusieurs fois.

   La syntaxe des boucles - SPIP

maintenant, savoir ce que tu as compris et bien je ne peux le savoir,
surtout par mail interposés.

Je lis, je relis, je rerelis la doc, mais elle n'est pas toujours limpide
surtout sur des points de détail et aussi surtout parce que certaines
données sont éclatées (ex : la bailse #total_boucle et les texte
optionnels).Je ne jette pas trop la pierre vu que j'ai jamais aidé à la
mettre en forme ct'e doc.
Je ferai un TP avec ta proposition, demain, mais à mon avis il y a un
problème.
Si ca marche c'est que je n'ai pas bien compris ce que j'ai compris :wink:
Voila tout
s

----- Original Message -----
From: "Marc Quinton" <marc.quinton@aviation-civile.gouv.fr>
To: "SPIP" <spip@rezo.net>
Sent: Tuesday, September 16, 2003 2:13 PM
Subject: Re: [Spip] Re: [spip-dev] un peu hors sujet mais SPIP, PHP et
fonctioninclure

S.Calas wrote:

> En tout cas c'est avec ce raisonnement que je me suis orientée vers le

PHP.

> Je sais que c'est pas dans la logique SPIP de larder avec du PHP, mais

bon

> il se trouve que ca marche, que ca fait un jour et demi que je suis

dessus

> (parce que je suis nulle en PHP) et que je suis satisfaitE :))
> Dis moi quand même qi le raisonnement sur l'interprétation des texte

après

> et avant est bon.
> Marci
> Sarah

il suffit de lire la doc, et si on est pas tres sur d'avoir compris,
il faut encore faire quelque TP sur ce sujet. En general, il faut
ecrire quelques boucles simples, le plus simple possible et voir le
comportement en fonction des différents criteres.

je ne dispose pas de plus d'information que ca au sujet des boucles.
Ne pas hesiter a lire et relir cette doc plusieurs fois.

   La syntaxe des boucles - SPIP

maintenant, savoir ce que tu as compris et bien je ne peux le savoir,
surtout par mail interposés.

----------------------------------------------------------------------------
----

_______________________________________________
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