inclure des boucles spip dans un site externe non-spip

Bonjour,

Je gère 2 sites. J’aurais besoin d’afficher le résultat de quelques boucles SPIP dans un fichier PHP externe appartenant à un autre site qui, lui, n’est pas sous SPIP. Est-ce possible ? Existe-t-il une méthode, un petit script par exemple, permettant d’inclure des boucles SPIP dans un site externe ?

Merci de votre aide.


Stéphane VIAL

Si le but est d’afficher par exemple les derniers articles, un flux RSS me paraît une bonne solution, à la manière dont on peut le faire dans Spip pour intégrer les actualités d’autres sites.

Le 31/07/07, Stéphane VIAL <vial.stephane@gmail.com> a écrit :

Bonjour,

Je gère 2 sites. J’aurais besoin d’afficher le résultat de quelques boucles SPIP dans un fichier PHP externe appartenant à un autre site qui, lui, n’est pas sous SPIP. Est-ce possible ? Existe-t-il une méthode, un petit script par exemple, permettant d’inclure des boucles SPIP dans un site externe ?

Merci de votre aide.


Stéphane VIAL


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

Merci de ta réponse. Cela me conduit à préciser mon besoin.

Voilà : j’utilise un forum PunBB que j’aimerais intégrer au design global de mon site SPIP. Pour cela 2 solutions, j’imagine : ou bien j’intègre des fonctionnalités de SPIP dans PunBB ou bien j’intègre PunBB dans SPIP. Mais attention : je ne connais pas PHP et ne sais pas du tout comment faire sachant que PunBB est installé dans un répertoire à la racine de mon site SPIP du genre : http://mon-site-spip.fr/forum.

Voilà pourquoi j’aimerais simplement pouvoir inclure, dans mon template PunBB (qui fonctionne en PHP), plusieurs boucles de SPIP me permettant d’afficher l’arborescence ( i.e. le menu principal) de mon site SPIP sur les pages de mon forum PunBB.

Y a-t-il une méthode ou un moyen pour arriver à ce résultat ? Je suis sûr que oui, mais n’étant pas programmeur, je ne vois pas. Je ne connais que HTML et CSS !

Merci.

Le 31/07/07, Olivier THIERRY <olivier.thierry@gmail.com> a écrit :

Si le but est d’afficher par exemple les derniers articles, un flux RSS me paraît une bonne solution, à la manière dont on peut le faire dans Spip pour intégrer les actualités d’autres sites.

Le 31/07/07, Stéphane VIAL <vial.stephane@gmail.com> a écrit :

Bonjour,

Je gère 2 sites. J’aurais besoin d’afficher le résultat de quelques boucles SPIP dans un fichier PHP externe appartenant à un autre site qui, lui, n’est pas sous SPIP. Est-ce possible ? Existe-t-il une méthode, un petit script par exemple, permettant d’inclure des boucles SPIP dans un site externe ?

Merci de votre aide.


Stéphane VIAL


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


Stéphane VIAL

Alors, quelqu’un a-t-il une idée pour inclure une boucles spip dans une page web externe en PHP appartenant à un site non-spip ?

Le 31/07/07, Stéphane VIAL <vial.stephane@gmail.com> a écrit :

Merci de ta réponse. Cela me conduit à préciser mon besoin.

Voilà : j’utilise un forum PunBB que j’aimerais intégrer au design global de mon site SPIP. Pour cela 2 solutions, j’imagine : ou bien j’intègre des fonctionnalités de SPIP dans PunBB ou bien j’intègre PunBB dans SPIP. Mais attention : je ne connais pas PHP et ne sais pas du tout comment faire sachant que PunBB est installé dans un répertoire à la racine de mon site SPIP du genre : http://mon-site-spip.fr/forum.

Voilà pourquoi j’aimerais simplement pouvoir inclure, dans mon template PunBB (qui fonctionne en PHP), plusieurs boucles de SPIP me permettant d’afficher l’arborescence ( i.e. le menu principal) de mon site SPIP sur les pages de mon forum PunBB.

Y a-t-il une méthode ou un moyen pour arriver à ce résultat ? Je suis sûr que oui, mais n’étant pas programmeur, je ne vois pas. Je ne connais que HTML et CSS !

Merci.

Le 31/07/07, Olivier THIERRY < olivier.thierry@gmail.com> a écrit :

Si le but est d’afficher par exemple les derniers articles, un flux RSS me paraît une bonne solution, à la manière dont on peut le faire dans Spip pour intégrer les actualités d’autres sites.

Le 31/07/07, Stéphane VIAL <vial.stephane@gmail.com> a écrit :

Bonjour,

Je gère 2 sites. J’aurais besoin d’afficher le résultat de quelques boucles SPIP dans un fichier PHP externe appartenant à un autre site qui, lui, n’est pas sous SPIP. Est-ce possible ? Existe-t-il une méthode, un petit script par exemple, permettant d’inclure des boucles SPIP dans un site externe ?

Merci de votre aide.


Stéphane VIAL


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


Stéphane VIAL


Stéphane VIAL

Stéphane VIAL <vial.stephane@gmail.com> wrote:

Voilà pourquoi j'aimerais simplement pouvoir inclure, dans mon template
PunBB (qui fonctionne en PHP), plusieurs boucles de SPIP me permettant
d'afficher l'arborescence (i.e. le menu principal) de mon site SPIP sur les
pages de mon forum PunBB.

Y a-t-il une méthode ou un moyen pour arriver à ce résultat ? Je suis sûr
que oui, mais n'étant pas programmeur, je ne vois pas. Je ne connais que
HTML et CSS !

Tu ne pourras pas mettre des boucles spip dans un environnement non spip
(pas supervisé par spip). Mais par contre tu peux faire :

A. un fichier squelette "menu.html" avec dedans les boucles pour
afficher les menus de ton site spip. Tu le mets dans ton dossier
"squelettes" de spip.

B. depuis punBB, faire un include php du genre
include 'spip.php?page=menu';
pour que le squelette menu.html puisse être parsé par spip.

Après à voir avec les questions de chemin dans ton include. Il vaut
mieux que tu définisses un delai par #CACHE{xxx} dans ton squelette menu
pour bénéficer aussi du cache (si tu n'en met pas il me semble que par
défaut c'est 1h)

Pas testé il me semble que cela peut marcher.

--
http://wojylac.free.fr
Un proverbe chinois dit que lorsqu'on a rien à dire
on cite généralement un proverbe chinois.

I. Alors, j’ai fait comme tu m’as dit :

  1. J’ai créé le fichier menu.html avec simplement mes boucles dedans.
  2. J’ai ajouté le code suivant dans le template de PunBB :
<?php include("/spip.php?page=menu"); ?>
  1. Résultat : le code PHP n’a pas été interprété par PunBB (quand j’affiche le code source de la page web, je peux lire mon code php, preuve qu’il n’a pas été exécuté) : il ne se passe rien sur la page web de punbb, mes boucles sont absentes.

II. Du coup, je me suis souvenu d’un truc dans la doc de PunBB (http://docs.punbb.fr/faq.html#faq3_4 ) qui dit ceci :

PunBB dispose d'une variable de remplacement spéciale appelée pun_include pour inclure des scripts dans les templates. Par exemple, si vous vouliez inclure un script appelé banner.php en bas de chacunes de vos pages de forums vous devriez placer votre script dans le répertoire include/user/ et ajouter ce qui suit à votre fichier template :
<pun_include "banner.php">
Le script banner.php doit être placé dans le répertoire utilisateur d'inclusion mentionné ci-dessus. PunBB exécutera le script et la variable pun_include sera remplacée par ce que le script produira en sortie. Veuillez noter que tous les scripts inclus ont accès aux variables de PunBB, ainsi si vous -par exemple- vouliez accéder à la base de données, vous pourriez utiliser l'objet $db juste comme le fait PunBB. Le remplacement de la variable pun_include est la dernière chose que PunBB fait quand il produit une page, ainsi vous ne devez pas vous inquiéter de ne pas employer les noms variables que PunBB utilise.
III. Alors, à défaut de connaissances, je me suis fié à mon intuition...
  1. J’ai créé un fichier menu.php que j’ai placé, comme le dit la doc de punBB, dans /punbb/include/user et j’ai ajouté, dans mon fichier template de punbb la ligne : <pun_include « menu.php »>
  2. Dans le fichier menu.php, j’ai simplement mis le code suivant :
<?php include("/spip.php?page=menu"); ?>
  1. Cette fois, le code PHP a été interprété au sein de PunBB – on progresse !! – mais l’inclusion de mes boucles n’a pas réussi. J’ai obtenu le message d’erreur suivant en lieu et place de mes boucles :

Warning: main(/spip.php?page=menu) [function.main]: failed to open stream: No such file or directory in /home5/i/mon-site/www/forums/include/user/menu.php on line 2

Warning: main() [function.include]: Failed opening ‹ /spip.php?page=menu › for inclusion (include_path=‹ .:/usr/local/php4/pear ›) in /home5/i/mon-site/www/forums/include/user/menu.php on line 2

C’est ici que je bloque. Qu’est-ce que cela signifie ? Qu’est-ce qui ne va pas ? Il ne doit plus manquer grand chose pour que ça marche. Je suis sûr qu’on n’est plus très loin. S’il y a parmi vous un connaisseur de PHP à qui tout cela donne des idées, je le remercie d’avance vivement.

Stéphane.

Le 31/07/07, Dominique < dwojylac@free.fr> a écrit :

Tu ne pourras pas mettre des boucles spip dans un environnement non spip
(pas supervisé par spip). Mais par contre tu peux faire :

A. un fichier squelette « menu.html » avec dedans les boucles pour
afficher les menus de ton site spip. Tu le mets dans ton dossier
« squelettes » de spip.

B. depuis punBB, faire un include php du genre
include ‹ spip.php?page=menu ›;
pour que le squelette menu.html puisse être parsé par spip.

Après à voir avec les questions de chemin dans ton include. Il vaut
mieux que tu définisses un delai par #CACHE{xxx} dans ton squelette menu
pour bénéficer aussi du cache (si tu n’en met pas il me semble que par
défaut c’est 1h)

Pas testé il me semble que cela peut marcher.


http://wojylac.free.fr
Un proverbe chinois dit que lorsqu’on a rien à dire
on cite généralement un proverbe chinois.

Stéphane VIAL <vial.stephane@gmail.com> wrote:

Voilà pourquoi j’aimerais simplement pouvoir inclure, dans mon template
PunBB (qui fonctionne en PHP), plusieurs boucles de SPIP me permettant
d’afficher l’arborescence (i.e. le menu principal) de mon site SPIP sur les
pages de mon forum PunBB.

Y a-t-il une méthode ou un moyen pour arriver à ce résultat ? Je suis sûr
que oui, mais n’étant pas programmeur, je ne vois pas. Je ne connais que
HTML et CSS !

Question bete : pourquoi tu n'inclurais pas plutot PunBB dans un squelette Spip ?

en mettant des entete et pied vide à punBB et en incluant en PHP le script appelé directement dans le squelette, ca te permet de transformer par exemple une rubrique "virtuelle" de Spip en forum.

Attention, dans un sens comme dans l'autre, Spip et PunBB doivent etre au meme niveau sur le site, sinon ca mettra fatalement la zone dans les chemins des inclusions.
Spikini avait contourné le probleme en clonant spip.php à son niveuau (un sous repertoire) et en y ajoutant chdir ('../'); mais je ne suis pas fan de la solution (et puis je ne pense pas que ca pose probleme de mettre spip et autre chose au meme niveau).

@++

Si je te suis bien, quelle que soit la méthode que j’utilise, je dois installer à la fois SPIP et PunBB à la racine de mon site ?
Parce qu’actuellement, PunBB est situé dans un répertoire à la racine de SPIP (du style : mon-site.fr/punbb).

En revanche, quand tu dis :

en mettant des entete et pied vide à punBB et en incluant en PHP le
script appelé directement dans le squelette, ca te permet de transformer
par exemple une rubrique « virtuelle » de Spip en forum.

C’est un peu lapidaire pour moi. Pourrais-tu détailler la procédure, stp ?

Le 01/08/07, Stephane < stephane@rezo.net> a écrit :

Question bete : pourquoi tu n’inclurais pas plutot PunBB dans un
squelette Spip ?

en mettant des entete et pied vide à punBB et en incluant en PHP le
script appelé directement dans le squelette, ca te permet de transformer
par exemple une rubrique « virtuelle » de Spip en forum.

Attention, dans un sens comme dans l’autre, Spip et PunBB doivent etre
au meme niveau sur le site, sinon ca mettra fatalement la zone dans les
chemins des inclusions.
Spikini avait contourné le probleme en clonant spip.php à son niveuau
(un sous repertoire) et en y ajoutant chdir (‹ …/ ›); mais je ne suis pas
fan de la solution (et puis je ne pense pas que ca pose probleme de
mettre spip et autre chose au meme niveau).

@++


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


Stéphane VIAL

Stéphane VIAL a écrit :

Si je te suis bien, quelle que soit la méthode que j'utilise, je dois installer à la fois SPIP et PunBB à la racine de mon site ?

oui

Parce qu'actuellement, PunBB est situé dans un répertoire à la racine de SPIP (du style : mon-site.fr/punbb <http://mon-site.fr/punbb&gt;\).

donc si ton point d'entrée (script appelé initialement) est dans un sous-repertoire (pour spip), quand tu vas inclure spip.php, tous les chemins des scripts seront faussés.
d'ou l'astuce du chdir de spikini, qui incluait un clone de spip.php, commencant par le fameux chdir placé dans son sous repertoire
je ne sais pas si il faut ou non refaire un chdir à la sortie pour ne pas perturber ce qui se passe derriere

enfin, en mettant les 2 à la racine, tu n 'auras plus le probleme.

En revanche, quand tu dis :

en mettant des entete et pied vide à punBB et en incluant en PHP le
script appelé directement dans le squelette, ca te permet de transformer
par exemple une rubrique "virtuelle" de Spip en forum.

C'est un peu lapidaire pour moi. Pourrais-tu détailler la procédure, stp ?

tu fais ton squelette rubrique=12.html et à la place de #TEXTE, tu mets <?php inclure("punbb.php"); ?>

c'est plus clair ?

@++

Le 01/08/07, Stephane <stephane@rezo.net> a écrit :

Si je te suis bien, quelle que soit la méthode que j’utilise, je dois
installer à la fois SPIP et PunBB à la racine de mon site ?

oui

Ok, mais SPIP et PunBB possèdent tous les 2 un fichier index.php. Alors comment les installer ensemble à la racine ? L’un va écraser l’autre… non ?

tu fais ton squelette rubrique=12.html et à la place de #TEXTE, tu mets

<?php inclure("punbb.php"); ?>

c’est plus clair ?

Pas tout à fait. Le fichier punbb.php n’existe pas dans l’arborescence de PunBB. Quel fichier faudra-t-il inclure dans mon squelette ? index.php ? ça nous renvoie alors au problème précédent…


Stéphane VIAL

Stéphane VIAL a écrit :

Le 01/08/07, *Stephane* <stephane@rezo.net <mailto:stephane@rezo.net>> a écrit :

1.

    > Si je te suis bien, quelle que soit la méthode que j'utilise, je
    dois
    > installer à la fois SPIP et PunBB à la racine de mon site ?

    oui

Ok, mais SPIP et PunBB possèdent tous les 2 un fichier index.php. Alors comment les installer ensemble à la racine ? L'un va écraser l'autre... non ?

2.

    tu fais ton squelette rubrique=12.html et à la place de #TEXTE, tu
    mets
    <?php inclure("punbb.php"); ?>

    c'est plus clair ?

Pas tout à fait. Le fichier punbb.php n'existe pas dans l'arborescence de PunBB. Quel fichier faudra-t-il inclure dans mon squelette ? index.php ? ça nous renvoie alors au problème précédent...

il suffit de renommer l'index.php de punbb en punbb.php
j'avais oublié de le preciser.

@++

Le 01/08/07, Stephane <stephane@rezo.net> a écrit :

il suffit de renommer l’index.php de punbb en punbb.php
j’avais oublié de le preciser.

C’est juste. J’étais en train de me dire la même chose.
Mais, ça ne résoud pas tout. En effet, l’arborescence de PunBB est constituée des répertoire suivants (je respecte la casse) :

  • cache
  • img
  • include
  • lang
  • plugins
  • style

Ne peut-il y avoir un conflit avec les répertoires CACHE, IMG et plugins de SPIP ?
Bon, a priori, les plugins de PunBB n’ont pas le même nom que veux de SPIP, mais SPIP ne va-t-il pas faire la gueule (et idem pour PunBB) en voyant dans son dossier des plugins des machins qu’il ne reconnaît pas ?
Sans parler des répertoires cache et img mais, là, en raison de la casse, le pb ne se pose peut-être pas (en majuscules dans SPIP, en minuscules dans PunBB) ???

Stéphane VIAL a écrit :

Mais, ça ne résoud pas tout. En effet, l'arborescence de PunBB est constituée des répertoire suivants (je respecte la casse) :

- cache
- img
- include
- lang
- plugins
- style

ouch, c'est pas la joie en effet...

dans ce cas, laisse le en sous-repertoire et tente à la place de #TEXTE toujours :
<?php

chdir ('punbb/');
include('index.php');
chdir ('../');

?>

ca devrait marcher (?)

@++

Stéphane VIAL <vial.stephane@gmail.com> wrote:

Warning*: main()
[function.include<http://www.intencity.fr/forums/function.include&gt;\]:
Failed opening '/spip.php?page=menu' for inclusion
(include_path='.:/usr/local/php4/pear') in *
/home5/i/mon-site/www/forums/include/user/menu.php* on line *2*

C'est ici que je bloque. Qu'est-ce que cela signifie ? Qu'est-ce qui ne va
pas ? Il ne doit plus manquer grand chose pour que ça marche. Je suis sûr
qu'on n'est plus très loin. S'il y a parmi vous un connaisseur de PHP à qui
tout cela donne des idées, je le remercie d'avance vivement.

Excuse moi j'avais oublié un petit pb au passage de variable dans l'url.
Il faut indiquer l'url compléte.

donc si spip est à la racine, où que soit ton forum ce sera donc

include 'http://www.intencity.fr/spip.php?page=menu’;
et cela devrait marcher sauf si tu as php avant 4.3 en version Windows.

Lire pour tous les détails
<http://fr2.php.net/manual/fr/function.include.php&gt;

je viens de le vérifier depuis ma machine. ça fonctionne

--
Dominique
http://wojylac.free.fr

Dominique <dwojylac@free.fr> wrote:

je viens de le vérifier depuis ma machine. ça fonctionne

Je me reponds à moi-même. Tu auras juste un petit pb d'url dans ton
menu.
soit tu utilises #URL_SITE_SPIP/#URL_ARTICLE ou #URL_RUBRIQUE
ou mieux tu utilise le filtre url_absolue
(#URL_RUBRIQUE|url_absolue)

voir

--
Dominique
http://wojylac.free.fr

Bon alors, je réponds en 2 temps, d’abord pour toi, Stéphane.
Ensuite, je ferai un deuxième message à la liste pour répondre à Dominique, qui semble effectivement avoir trouvé la bonne solution.

Suivant tes indications, Stéphane :

  1. J’ai quand même essayé d’installer PunBB à la racine de SPIP. Les répertoires comme « img » et « IMG » ont été considérés comme différents – ouf ! Quant au répertoire « plugins », j’ai installé dans le même les plugins SPIP et les plugins PunBB… Pas très propre tout ça MAIS ça a marché ! du moins en partie : c’est-à-dire que l’inclusion fonctionne dans mon squelette rubrique pour la page index de PunBB renommée dans l’inclusion en punbb.php, sauf qu’ensuite, quand je clique sur un sous-forum, PunBB ne comprend plus où il se trouve et ne se réaffiche plus à l’intérieur de mon squelette rubrique. Donc mon problème d’intégration n’est pas résolu de cette manière. Je crois deviner qu’il faudrait signifier une inclusion pour toutes les sous-pages possilbes de PunBB, et pas seulement la page index.php renommée en punbb.php.

  2. J’ai aussi essayé l’autre méthode, avec le code suivant dans le squelette rubrique :

<?php chdir ('punbb/'); include('index.php'); chdir ('../'); ?>

Le résultat est exactement le même qu’avec la première méthode. L’inclusion s’opère effectivement (et beaucoup plus proprement, sans mélanger les fichiers SPIP et PunBB, ça faut le reconnaître) MAIS, quand je clique sur un sous-forum, PunBB ne se réaffiche plus à l’intérieur du squelette, comme dans le cas précédent… Cette méthode, elle non plus, ne suffit pas à inclure dans le squelette rubrique TOUT PunBB et pas seulement las page index.

Évidemment, si elle fonctionnait simplement, cette méthode serait l’idéal, car elle permettrait de rester dans SPIP. Mais ça ne marche pas pleinement ou bien, pour cela, il faudrait encore faire bcp de manips, semble-t-il.

Quoi qu’il en soit, je te remercie vivement, Stéphane. J’ai appris beaucoup de choses grâce à tes réponses.

Ton homonyme,
Stéphane.
:smiley:

Le 01/08/07, Stephane <stephane@rezo.net> a écrit :

Stéphane VIAL a écrit :

Mais, ça ne résoud pas tout. En effet, l’arborescence de PunBB est
constituée des répertoire suivants (je respecte la casse) :

  • cache
  • img
  • include
  • lang
  • plugins
  • style

ouch, c’est pas la joie en effet…

dans ce cas, laisse le en sous-repertoire et tente à la place de #TEXTE
toujours :

<?php chdir ('punbb/'); include('index.php'); chdir ('../'); ?>

ca devrait marcher (?)

@++


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


Stéphane VIAL

Stéphane VIAL a écrit :

Évidemment, si elle fonctionnait simplement, cette méthode serait l'idéal, car elle permettrait de rester dans SPIP. Mais ça ne marche pas pleinement ou bien, pour cela, il faudrait encore faire bcp de manips, semble-t-il.

ben ca veut dire que punBB ne respecte pas le modele MVC2 (un seul controleur => un seul script appelé depuis l'exterieur), et la, on voit bien l'interet de la chose

je ne connais pas ce produit, aussi bien c'est comme spip, il y a un script unique mais ca n'est pas index.php qui est la juste pour etre pris par defaut dans le repertoire...

m'enfin, si ca marche dans l'autre sens, faut pas s'embeter non plus.

@++

Je réponds maintenant à Dominique.
Ta méthode fonctionne du premier coup et tellement simplement…
Je ne comprends pas que je n’y aie pas pensé tout seul…

Cependant, attention, j’ai quelques petits problèmes, dont j’espère que tu pourras m’aider à les résoudre.
Comme conseillé, j’ai simplement fait une include depuis PunBB (en utilisant pour cela la variable de remplacement spéciale de PunBB <pun_include " menu.php"> car sinon, le code PHP brut n’est pas interprété) et j’ai mis dans menu.php l’URL complète comme conseillé.

Résultat : bien que le premier chargement de la page soit parfois assez long (idem quand on vide le cache de SPIP et qu’on recharge ladite page) mes boucles ont bien été incluses/importées.

MAIS

  1. rentrons un peu dans le cambouis, il se trouve que dans mes boucles j’utilise le plugin DEREBLOC ( http://www.spip-contrib.net/Balises-Block-deplier-replier), qui permet à des sous-boucles de mon menu de se plier/déplier. Cette fonctionnalité n’a pas été importée dans l’inclusion et ne fonctionne pas. Voici un exemple de sous-boucle incluant DEREBLOC dans mon fichier menu.html :

<BOUCLE_rub-intencity(RUBRIQUES) {id_rubrique=5}>
<B_sous-rub-intencity>
<BOUCLE_sous-rub-intencity(RUBRIQUES) {id_parent} {par num titre}>

#BOUTON_BLOCK #TITRE

#DEBUT_BLOCK

#TITRE

#FIN_BLOCK

</BOUCLE_rub-intencity>

  1. J’ai aussi des problèmes d’encodage de caractères. Mes boucles incluses/importées de SPIP ont besoin d’être en UTF-8 alors que le fichier dans lequel elles s’insèrent dans PunBB est en iso-8859-1… Résultat, dans mon menu inclus, j’ai des caractères bizarres dégueulasses à la place des caractères accentués…

Conclusion : méthode très simple et efficace, mais c’est pas encore gagné.

Arf.

Stéphane.

Le 01/08/07, Dominique <dwojylac@free.fr> a écrit :

Stéphane VIAL <vial.stephane@gmail.com> wrote:

Warning*: main()
[function.include<http://www.intencity.fr/forums/function.include>]:
Failed opening ‹ /spip.php?page=menu › for inclusion
(include_path=‹ .:/usr/local/php4/pear ›) in *
/home5/i/mon-site/www/forums/include/user/menu.php* on line 2

C’est ici que je bloque. Qu’est-ce que cela signifie ? Qu’est-ce qui ne va
pas ? Il ne doit plus manquer grand chose pour que ça marche. Je suis sûr
qu’on n’est plus très loin. S’il y a parmi vous un connaisseur de PHP à qui
tout cela donne des idées, je le remercie d’avance vivement.

Excuse moi j’avais oublié un petit pb au passage de variable dans l’url.
Il faut indiquer l’url compléte.

donc si spip est à la racine, où que soit ton forum ce sera donc

include ’ http://www.intencity.fr/spip.php?page=menu’;
et cela devrait marcher sauf si tu as php avant 4.3 en version Windows.

Lire pour tous les détails
< http://fr2.php.net/manual/fr/function.include.php>

je viens de le vérifier depuis ma machine. ça fonctionne


Dominique
http://wojylac.free.fr


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


Stéphane VIAL

Stéphane VIAL <vial.stephane@gmail.com> wrote:

Ta méthode fonctionne du premier coup et tellement simplement...
Je ne comprends pas que je n'y aie pas pensé tout seul...

C'est toujours comme cela et c'est pas parce qu'on trouve parfois des
solutionspour les autres que soit-même....

Cependant, attention, j'ai quelques petits problèmes, dont j'espère que tu
pourras m'aider à les résoudre.
Comme conseillé, j'ai simplement fait une include depuis PunBB (en utilisant
pour cela la variable de remplacement spéciale de PunBB <pun_include "
menu.php"> car sinon, le code PHP brut n'est pas interprété) et j'ai mis
dans menu.php l'URL complète comme conseillé.

et tu ne peux pas faire directement un punbb_include
'http://…/spip.php?page=menu’ ??

Résultat : bien que le premier chargement de la page soit parfois assez long
(idem quand on vide le cache de SPIP et qu'on recharge ladite page) mes
boucles ont bien été incluses/importées.

MAIS

1. rentrons un peu dans le cambouis, il se trouve que dans mes boucles
j'utilise le plugin DEREBLOC (
Balises Bloc deplier/replier (plugin) - SPIP-Contrib), qui permet à des
sous-boucles de mon menu de se plier/déplier. Cette fonctionnalité n'a pas
été importée dans l'inclusion et ne fonctionne pas. Voici un exemple de
sous-boucle incluant DEREBLOC dans mon fichier menu.html :

Je suppose que ce plugin fonctionne avec du javascript, il faut que dans
ton head de punbb tu appelle directement ce javacript aussi
<script type="text/javascript" src="le chamin vers mon
javascript"></script>

2. J'ai aussi des problèmes d'encodage de caractères. Mes boucles
incluses/importées de SPIP ont besoin d'être en UTF-8 alors que le fichier
dans lequel elles s'insèrent dans PunBB est en iso-8859-1... Résultat, dans
mon menu inclus, j'ai des caractères bizarres dégueulasses à la place des
caractères accentués...

Conclusion : méthode très simple et efficace, mais c'est pas encore gagné.

utf8_encode et utf8_decode peut-être ?
<http://fr.php.net/manual/fr/function.utf8-decode.php&gt;
il faudrait que tu fasses un menu spécial pour ton punbb à ce moment là.
et que tu utilises ces fonction comme des filtres de spip.

et que dans ce menu spécial tu copie le javascript de ton plugin.
entre <script> et </script> avant le code html du menu.

pas garanti mais...

--
Dominique
http://wojylac.free.fr

Le 01/08/07, Stephane <stephane@rezo.net> a écrit :

ben ca veut dire que punBB ne respecte pas le modele MVC2 (un seul
controleur => un seul script appelé depuis l’exterieur)

En effet. Les gars de chez PunBB.fr viennent de me le confirmer sur leur forum.


Stéphane VIAL