Introduction :
La philosophie de SPIP est de pouvoir publier des articles.
Donc on ne peut pas faire un <?php include( "script.php"); ?> dans un article, ca n’est pas fait pour ca.
Pourtant dans certains cas précis, vous pouvez avoir besoin d’afficher dans un article des informations que vous avez calculé et surtout qui peuvent évoluer.
Exemple
Je dois gérer sur mon site une liste des membres d’un club.
Cette liste est modifiée régulièrement, et je l’ai donc mise dans une table de ma base de données.
J’aurai pu créer une page spécifique pour afficher cette liste, et pourtant j’aurai aimé qu’elle s’intègre parfaitement dans l’environnement SPIP, déjà niveau design, mais aussi qu’on puisse faire une recherche SPIP sur la partie fixe de l’article (autour de la liste), qu’elle apparaisse dans les rubriques, etc.
J’aurai également pu utiliser la fonction de redirection d’article, mais elle ne me plait pas non plus parce que j’ai envie d’utiliser une fonctionnalité importante de SPIP qui est le cache des pages !
Je vais donc vous montrer comment j’ai fait !
Avantages :
Par rapport au développement d’un partie spéciale d’un site, cette solution permet :
- de garder une arborescence homogène avec les rubriques de SPIP, et compatible avec le moteur de recherche.
- de pouvoir habiller un script dans un article et donc de le modifier facilement.
- de bénéficier du moteur de cache de SPIP.
Sécurité :
Pour une question de sécurité, chaque script proposé dans les articles DOIT être inscrit dans une liste de scripts autorisés, pour ne pas que chaque rédacteur puisse faire n’importe quoi avec n’importe quel script !
Concrètement :
Ce que nous allons pouvoir faire c’est inclure à n’importe quel endroit de l’article la commande suivante :
#INCLURE (mon_script.php3)Ceci plusieurs fois, et avec plusieurs scripts différents.
Le filtre qui va bien
J’ai créé un filtre appelé "autoriser_php" à appliquer sur le champs voulu (en particulier #TEXTE)
Voici ce filtre, à ajouter au fichier « mes_fonctions.php3 »
- /*****************************************************************************/
- /** Cette fonction permet de lancer un script PHP dans un article
- /**
- /** La syntaxe est la suivante :
- /** #INCLURE ( nom_fichier )
- /**
- /** Auteur : F. Quointeau
- /** Version : 0.0.2
- /** Date : 16 Mai 2004
- /*****************************************************************************/
- function autoriser_php( $texte) {
- // Dossier où sont stockés les scripts
- $dossier_inclus = './';
- // Liste des scripts autorisés
- 'mon_premier_script.php3',
- 'mon_second_script.php3'
- );
- // Les fichiers inclus autorises sont : *.php, *.php3, *.php4, *.phtml, *.htm, *.html, *.inc
- $chaine_recherche = '/#INCLU[R|D]E( *)\(( *)([^\)]*\.(php|php3|php4|phtml|htm|html|inc))( *)\)/i';
- // Recherche la chaine #INCLUDE(script)
- // Verifie le droit d'inclure ce fichier script !
- $autorise = false;
- }
- if( $autorise == true) {
- // Verifie que le fichier existe
- // Vide le buffer de sortie
- $affichage_php = '';
- // Et lance le fichier inclu !!!
- include( $dossier_inclus . $resultats[3]);
- } else {
- $affichage_php = "<b>#INCLURE: Le fichier de script n'existe pas !</b>";
- }
- } else {
- $affichage_php = "<b>#INCLURE: Script NON autorisé !</b>";
- }
- // Attention, n'effectue qu'un seul remplacement à la fois !
- }
- return( $texte);
- }
Attention : Au début de la fonction, il y a un tableau php qui décrit la liste des scripts qui ont le droit d’être lancé à partir d’un article. Pensez à le mettre à jour avec vos scripts.
Dossier des scripts
Si vous souhaitez mettre vos scripts dans un dossier spécial, mettez également le chemin des scripts dans la variable $dossier_inclus au début de la fonction filtre. Par exemple :
$dossier_inclus = 'mes_scripts/';Notez le ’/’ obligatoire à la fin du dossier.
Mais vous pouvez aussi « cacher » vos scripts (non disponibles par une requête HTTP dessus) en les placant en amont du dossier racine du site web :
$dossier_inclus = '../mes_scripts_caches/';Attention, en fonction de votre hébergeur, vous n’aurez pas forcément la possibilité de le faire !
Le script des familles :
Voici le script que vous voulez promouvoir :
- <?php
- echo( "Hello World !");
- ?>
Puissant, mais vous allez devoir l’écrire sous cette forme :
- <?php
- $affichage_php = "Hello World !";
- ?>
Vous suivez ?
Vous ne pouvez pas vous permettre d’afficher sauvagement vos informations directement par un echo( ), celles-ci ne seraient pas prises en compte dans le cache de SPIP, et souvenez-vous que votre script travaille à l’intérieur d’un filtre, et qu’il y a peut être d’autres filtres qui attendent derrière :-)
Et maintenant, comment relier le tout ?
Créez un article comme celui-ci par exemple :
Bonjour,
voici le résultat de ma fonction :
#INCLURE (mon_premier_script.php3)
HopCréez ensuite un fichier mon_premier_script.php3 qui contient le script énoncé plus haut ; mettez le dans le dossier de SPIP si vous n’avez pas spécifié de dossier dans la variable $dossier_inclus (par défaut elle contient le dossier courant).
Dans votre squelette, vous devez avoir quelque chose du genre :
<BOUCLE_1 (ARTICLES) {id_article}>
[(#TEXTE|autoriser_php)]
</BOUCLE_1>J’ai appliqué le filtre "autoriser_php" à l’affichage de #TEXTE.
Et votre article affiche désormais :
Bonjour,
voici le résultat de ma fonction :
Hello World !
HopPour aller un peu plus loin...
Imaginons que vous ayez besoin de récupérer une variable de l’url dans votre script. Les variables globales de SPIP sont accessibles depuis votre script, puisqu’il fonctionne à l’intérieur d’un filtre SPIP.
Regardez le script suivant
- <?php
- // Ma variable
- $id_machin = $GLOBALS['id_machin'];
- $affichage_php = "Hello machin n°$id_machin";
- ?>
Je récupère la variable globale $id_machin et je l’affiche dans mon script. Cette variable globale est tout simplement une des variables passées en paramètres.
Si j’essaye l’url :
article.php3?id_article=x{{&id_machin=11}}
J’aurai alors l’affichage :
Bonjour,
voici le résultat de ma fonction :
Hello machin n°11
HopC’est d’autant plus pratique que SPIP va générer un cache pour TOUTES les url différentes.
Fort heureusement, sinon l’affichage de
article.php3 ?id_article=x&id_machin=1
serait le même que l’affichage de
article.php3 ?id_article=x&id_machin=2
puisque la page article.php3 ?id_article=x est à priori déjà dans le cache.
Attention toutefois à ne pas remplir votre cache de millions de fichiers si votre script peut comporter des millions de combinaisons de paramètres dans l’url !
Récupérer des variables globales de SPIP
En plus de pouvoir récupérer des variables de l’url, vous pouvez récupérer des variables de l’environnement SPIP, comme celle-ci :
$GLOBALS['spip_lang']
qui vous permet de récupérer la langue courante (si vous utilisez SPIP multilingue). Ca peut en effet être très pratique si vous avez besoin de générer un affichage « localisé » avec votre script. [1]
Mise en garde avec MySQL
SPIP utilise par défaut la connexion courante à la base de données MySQL. Autrement dit, si dans votre script, vous ouvrez une base MySQL autre que celle utilisée par SPIP, celui-ci n’aura plus accès à sa base une fois le filtre exécuté.
Pour remédier à ca, il y a deux solutions :
- Utiliser la base de SPIP. Pour avoir la base toujours ouverte au début de votre script, utilisez
include_ecrire( "inc_connect.php3") ;
En effet ce sript ouvre la base seulement si elle n’est pas déjà ouverte, et l’avantage c’est que vous n’avez pas besoin de gérer vous même les paramètres d’ouverture.
- Demander à SPIP de faire des accès complets à la base (avec sélection de la base à chaque requête). Pour ca, renseignez la variable
$mysql_rappel_connexion = true ;
dans mes_options.php3 [2].
Exemple d’utilisation :
- <?php
- include_ecrire( "inc_connect.php3");
- $ma_requete = mysql_query( "SELECT id, nom, prenom, DATE_FORMAT(naissance, '%d/%m/%Y') as naissance, FROM utilisateur ORDER BY nom,prenom");
- if( $ma_requete) {
- $affichage_php .= "<table cellpadding=\"2\" align=\"center\" border=\"0\" class=\"spip\">\n";
- $affichage_php .= "<tr align=\"center\" class=\"row_first\"> <td><b>Nom</b></td> <td><b>Date de naissance</b></td> </tr>\n";
- $affichage_php .= "<tr class=\"row_" . ($ncr_numero_ligne++ % 2 ? 'odd' : 'even') . "\">";
- $affichage_php .= "<td>" . $mon_resultat["nom"] . " " . $mon_resultat["prenom"] . "</a></td> <td align=\"right\">" . $mon_resultat["naissance"] . "</td>";
- $affichage_php .= "</tr>\n";
- }
- $affichage_php .= "</table>\n";
- }
- }
- ?>
Conclusion
Attention, ceci ne fonctionne que dans la partie publique évidemment !
J’utilise actuellement ce script sur mon site, et ca fonctionne plutôt bien ! Et ce qui est génial, c’est que le cache est géré correctement par SPIP.
Notez : la page est regénérée quand elle a expirée, et pas quand le résultat de votre script a changé !



Vos commentaires
# Le 24 août à 10:15, par J-L
Bonjour,
Je suis depuis 3 jours en train d’essayer d’intégrer mon formulaire en HTML/PHP dans un article SPIP mais rien y fait malgrès le tuto et vos coms, je suis désespéré.
Je suis sous SPIP 2.0.9 et avec sarka-SPIP 3.01.
J’ai essayer la plupart de vos solutions mais aucune ne marche, quand je met le filtre, la partie privée n’est plus accessible.
Je ne sais plus quoi faire, si quelqu’un à une solution..Je suis tout ouïe..
Merci
# Le 24 août à 10:41, par Cedric Morin
Cette méthode est tout à fait déconseillée, et ce tuto concerne de vieilles versions de SPIP.
Pour faire un formulaire dans SPIP, il est conseillé d’utiliser CVT : http://www.spip.net/fr_article3800.html
Ensuite, le formulaire peut être simplement inséré dans un article via
<formulaire|xxx>.Qui plus est, il peut fonctionner en ajax très simplement, comme expliqué dans la documentation.
# Le 24 août à 10:49, par J-L
Merci pour ta réponse.
Le probléme c’est que j’ai déja tout mon code pour les différents formulaires que j’ai, avec dérriére la génération d’un PDF avec les valeurs rentrées et l’enregistrement dans une bdd.
C’est pour cela que je souhaiterai intégrerle code directement dans l’article.
Répondre à ce message
# Le 10 janvier à 13:58, par Svetlana R.
Bonjour,
Les versions de SPIP concernées par ce plugin vont jusqu’à la 1.8.
Ayant mis à jour certains de mes sites utilisant SPIP, je suis passé à la version 2, et cette option m’intéresse.
Est-ce que quelqu’un aurait testé sur la nouvelle version de SPIP ?
Merci !!
# Le 10 janvier à 14:25, par Maïeul
a titre personnel, je déconseillerai de faire cela. C’est la voie ouverte à des trous de sécurité.
Tu peux remplacer cela par des modèles intelligement conçus ou/et des formulaires CVT
Répondre à ce message
# Le 10 avril 2009 à 17:36, par Murphy
Merci pour l’article, je viens de tester et ça fonctionne bien avec SPIP 2.
# Le 6 juillet 2009 à 17:07, par Philippe
Bonjour,
Merci pour ce tutoriel très complet. Je confirme qu’il marche très bien avec Spip 2. Je n’arrive cependant pas à mes fins.
Question : comment passer un paramètre issu de l’URL appelant un article à un modèle appelé depuis cet article ?
- je sais afficher dans le texte de l’article la valeur d’un paramètre de l’URL mais je ne sais pas la passer au modèle que l’article appelle.
- J’affiche le contenu d’une table à l’aide d’un modèle appelé dans le texte d’un article :
<article|x|tripar=nom>. L’idée serait de pouvoir changer « nom » par « ville » par exemple.Mon but est de modifier les critères de tri d’une boucle présente dans le modèle en cliquant sur l’en-tête d’une colonne de la page HTML générée. le code html du modèle est :
<tr class="row_first" style="text-align: center"><th scope='col'><strong class="spip"><a href="chemin Spip /spip.php?article71&tripar=nom&var_mode=calcul" target="_self">NOM</a></strong></th>
</tr>
- J’ai noté que les variables d’environnement passées par l’URL notamment, ne sont pas passées dans le modèle (visible en mode debug). J’avais pensé écrire par inclusion php et de façon dynamique le texte de l’article.
- Mon script php inclus aurait donné en retour quelque chose comme :
<article|71|tripar=nom>si dans la boucle de mon modèle j’avais :<BOUCLE_x(table) {par #ENV{tripar}>Est-il possible de générer le « texte »
<article|71|tripar=nom>de façon à ce que Spip l’interprète au bon moment ?Il me semble que le filtre #TEXTE|autoriser_php agit en dernier alors que la page article est déjà constituée.
Une solution possible réside dans l’utilisation des formulaires CVT. Je peux récupérer la valeur d’un bouton radio et générer une erreur dans la fonction vérifier pour revenir au formulaire contenant les boucles. Je voulais savoir si c’était possible en restant sur des "modèles".
Merci pour le support.
Philippe
Répondre à ce message
# Le 14 février 2009 à 21:40, par Guillaume Clarys
Bonsoir,
Pour utiliser #INCLURE (mon_script.php) dans un article spip 2, on peut placer le code du filtre dans ecrire/inc/filtre.php à la place de mes_fonctions.php.
et ne pas oublier d’éditer #TEXTE|autoriser_php dans votre squelette d’article.
Répondre à ce message
# Le 1er février 2009 à 22:59, par H2Fooko
Bonsoir à tous,
Le post de tracolin m’a un peu refroidi pour passer en V2, en attendant j’ai résumé les différentes méthodes récupérées ici ou là pour exécuter du PHP dans nos articles. J’y ai même contribué en mettant en oeuvre le passage des paramètres pour 2 d’entre-elles grâce à l’idée de Jim Wanderscheid.
Par contre je pense que la méthode des modèles évoquée par Cédric Morin devrait fonctionner avec la V2 à défaut de celles utilisant les filtres.
J’avoue que j’aimerais savoir ;-) Je ne suis qu’en 1.9.2d.
En pièce jointe ou sur mon site le résultat de mes comparaisons.
Enjoy
Répondre à ce message
# Le 23 décembre 2008 à 23:11, par tracolin
Bonjour,
Je viens d’installer Spip V2 et il me semble que la fonctionnalité d’appel de script php ne marche plus...
Avez vous des informations ? , Le paramétrage reste il le même ?
Merci de votre réponse.
Répondre à ce message
# Le 16 septembre 2007 à 09:52, par Aurore
Bonjour,
J’utilise la version 1.9.2 de SPIP. J’ai suivi à la lettre votre explication. Mais il ne se passe rien, le script php est trouvé mais il ne s’affiche pas.
Avez-vous déjà testé ce type d’inclusion dans un article sur cette version de SPIP, quelle solutions sont possibles pour faire la même action dans cette version de SPIP ?
Je précise :
j’ai bien créé un fichier mes_fontions.php à la racine du site avec successivement le script de GoUaRfIg ! puis de Michel
J’ai créé un script de test : testscript.php que j’ai mis dans un dossier mes_scripts à la racine du site qui contient juste :
<?php_ $affichage_php = "Hello World !";
_ echo "hello the world";
_ ?>
Dans mon article, j’ai mis seulement :
#INCLURE(mes_scripts/testscript.php)
Dans le squelette je fais l’appel dans une boucle article vers le numéro exact de l’article :
«
[(#TEXTE|autoriser_php)]
»
Concrètement, il ne met pas d’erreur, ce qui signifie qu’il trouve le script. Mais il ne l’interprête pas. Pourquoi ? une histoire de cache ? de délai ????
# Le 18 septembre 2007 à 00:56, par Michel
à mon sens, si la déclaration dans mes_fonctions.php est déjà
$dossier_inclus = ’mes_scripts/’ ;
il ne faut mettre dans l’article que :
#INCLURE(testscript.php)
Attention, si tu as utilisé le script initial de GoUaRfIg, il faut en plus déclarer
$scripts_autorises = Array(
’testscript.php’
) ;
Dans la version modifiée que j’ai proposée :
J’ai notamment utilisé cette fonctionnalité pour lire et mettre en page des tableaux Excel au format .csv sur cette page dont l’unique contenu est “#INCLURE (bretagne.php)”
# Le 18 septembre 2007 à 18:22, par Aurore
Merci Michel,
C’était effectivement un problème de déclaration de dossier en double.....
1 fois dans mes_fonctions.php puis ensuite dans l’article.
ouf,
Merci beaucoup :)
# Le 24 septembre 2007 à 19:08, par Philippe Guérindon
Bonjour,
J’ai lu avec intérêt vos récents posts.
J’utilise le squelette Sarka-Spip version 2.0.1 avec Spip 1.9.2c et je n’arrive pas à inclure du code php dans les articles quelque soit la méthode.
Une idée.
Merci.
Philippe
# Le 24 septembre 2007 à 19:57, par Michel
Difficile de répondre dans l’absolu....
J’ai moi même galèré avant d’y arriver (et je ne suis pas le seul....)
Il y a plusieurs sources d’erreurs possibles !!!
Bien mettre [(#TEXTE|autoriser_php)] dans la boucle des articles
Bien indiquer le chemin des fichiers autorisés (à partir de la racine du site dans laquelle se trouve "spip.php" et non à partir du dossier des squelettes)
(il faut terminer par un /)
Une copie (même partielle) de ce qui a été fait qui ne fonctionne pas (comme l’a fait Aurore), et l’indication de la variante utilisée pour "mes_fonctions.php" pourrait nous éclairer.... il suffit parfois de pas grand chose.... (comme d’hab. en informatique)
# Le 25 septembre 2007 à 10:34, par ?
Bonjour,
Mon problème venait du squelette Sarka-Spip 2.
L’implémentation est un peu différente dans ce cas.
Les fonctions personnelles doivent être placées dans le fichier "sarkaspip_fonctions.php" et j’ai modifié le chemin de $dossier_inclus pour pointer vers ../spip/inc/ :
$dossier_inclus = ’/inc/’ ;
Le fichier article.php du squelette doit être modifié comme suit dans la zone “corps de l’article” :
(#TEXTE|autoriser_php|typo_couleur|image_reduire#CONFIGtaille_preview)]
Merci pour l’aide. Il fallait mettre les mains dans le camboui.
Philippe
# Le 21 août 2008 à 01:21, par ?
Bonjour à tous,
version de Spip + Sarkaspip : SPIP 1.9.2d [11132] | Sarka-SPIP 2.0.2 [18368]
Modification du fichier article.html :
[(#TEXTE|autoriser_php|typo_couleur|image_reduire{#CONFIG{taille_preview}})]Filtre placé dans le fichier sarkaspip_filtres.php et chemin des fichiers autorisés :
$dossier_inclus = './inc/';/*************************************************************/
/** Cette fonction permet de lancer un script PHP dans un article
/**
/** La syntaxe est la suivante :
/** #INCLURE ( nom_fichier )
/**
/** Auteur : F. Quointeau
/** Version : 0.0.2
/** Date : 16 Mai 2004
/*****************************************************************/
/*****************************************************************
Aménagements : Michel MAILLARD - 20 Août 2007
* recherche automatisée des fichiers dans le dossier de stockage
* ajout des fonctions ob_....()
(pour assurer l'affichage à l'emplacement désiré et non en haut de page)
* variable $f pour le fichier inclus
(pour compatibilité avec certains serveurs)
Ne pas oublier de placer cette fonction dans les squelettes ad-hoc,
en particulier article.html
[......(#TEXTE|autoriser_php)........]
/************************************************************/
function autoriser_php( $texte) {
// Dossier où sont stockés les scripts
//(à partir du fichier spip.php et non à partir du répertoire squelettes)
$dossier_inclus = './inc/';
// Les fichiers inclus autorises sont :
// *.php, *.php3, *.php4, *.phtml, *.htm, *.html, *.inc
$fichiers_autorises="(php|php3|php4|phtml|htm|html|inc)";
// Recherche des fichiers inclus autorisés dans le dossier de stockage
$dir=opendir("$dossier_inclus");
while ($fichier=readdir ($dir))
{
if(( preg_match( $fichiers_autorises, $fichier)))
{
$scripts_autorises[]= $fichier;
}
}
closedir($dir);
// Recherche la chaine #INCLURE(script)
$chaine_recherche = "/#INCLURE( *)\(( *)([^\)]*\.".$fichiers_autorises.")( *)\)/i";
while( preg_match( $chaine_recherche, $texte, $resultats)) {
// Verifie le droit d'inclure ce fichier script !
$autorise = false;
reset( $scripts_autorises);
while( $script = each( $scripts_autorises)) {
if( strcasecmp( $script[value], $resultats[3]) == 0) $autorise = true;
}
if( $autorise == true) {
// Verifie que le fichier existe
$f=$dossier_inclus . $resultats[3];
if( file_exists ($f )) {
// Vide le buffer de sortie
$affichage_php = '';
// Et lance le fichier inclu !!!
ob_start();
include ($f);
} else {
$affichage_php = "<b>#INCLURE: Le fichier de script $f n'existe pas !</b>";
}
} else {
$affichage_php = "<b>#INCLURE: Script NON autorisé !</b>";
}
// Attention, n'effectue qu'un seul remplacement à la fois !
$affichage_php = ob_get_contents();
ob_end_clean();
$texte = preg_replace( $chaine_recherche, $affichage_php, $texte, 1);
}
return( $texte);
}
Répondre à ce message
# Le 20 août 2007 à 16:56, par Michel
Merci à tous les contributeurs
En faisant une synthèse de tout ce que j’ai pu lire ici, ça fonctionne parfaitement...., pour du php comme du html
J’ai choisi de placer mes scripts dans un dossier "inc/" placé dans le même dossier que "spip.php" et qui peut être protégé par un hichier ".htaccess" contenant uniquement "deny from all"
De ce fait, le seul accès à ce dossier se fait par FTP, donc par le webmaster, et la protection peut être considérée comme suffisante.
J’ai donc automatisé la recherche des fichiers présents dans ce répertoire qui évite de modifier le fichier mes_fonctions.php à chaque ajout de fichier à inclure
Voici le résultat le plus abouti de ma réflexion... d’autres améliorations sont certainement encore possibles
Le code ci-dessous doit bien sûr être placé “mes_fonctions.php”
Remarque importante :
Tous les liens contenus dans les fichiers inclus devront, pour le chemin, être libellés comme si ce fichier à inclure se trouvait dans “spip.php”
Et rien n’empèche d’inclure, par la fonction Php include() , d’autres fichiers contenus dans d’autres répertoires, toujours en respectant cette règle
# Le 3 juin 2008 à 10:56, par hermine
Bravo Michel et merci, ton script fonctionne parfaitement
# Le 4 juin 2008 à 22:15, par Louis
Bonsoir,
Vous serait-il possible de préciser pour un non expert, les points suivants :
1)Avec SPIP 1.9.2d ce script reste t-il d’actualité ?
2)Quel nom de fichier donné à celui qui contient le script ?
3)Où mettre ce fichier ?
Je cherche simplement à entrer $a=9 dans un article. Puis à récupérer la valeur de $a dans un squelette.
Merci pour vos précisions.
# Le 5 juin 2008 à 01:24, par Michel
Bonjour
Ce script reste parfaitement d’actualité avec la dernière version de SPIP (1.9.2d à ce jour)
Il est ajouté au contenu du fichier "mes_options.php" (à créer avec ce contenu s’il n’existe pas)
Ce fichier soit être placé de préférence dans le dossier "squelette" (à crér si nécessaire)
Il permet d’exécuter un script en php contenu dans un dossier spécifié (voir les remarques dans le script) ce qui provoque directement un affichage lors de la génération de la page web.
Voir ce lien : L’affichage des photos est déclenché par l’instruction
qui fait appel à un module extérieur (simpleviewer) après une lecture dynamique du contenu du répertoire de photos (celles ci ont été mises en ligne par FTP indépendamment de SPIP)
On pourrait plus simplement afficher sous forme de tableau le contenu d’un répertoire qui aurait été lu (et filtré) en utilisant les fonctionnalités de php
Pour le reste, (récupération de la valeur d’une variable) je ne garantis rien... car je crains que les variables déclarées dans le script ne restent que locales.
Il conviendrait donc de lire
- la rubrique "pour aller plus loin" dans l’article initial
- le contenu de cet article
# Le 5 juin 2008 à 08:52, par Louis
Bonjour,
Merci pour votre éclairage...
Je suggère que soit étudiée, puis intégrée, pour une prochaine version de spip, la possibilité de pouvoir entrer directement la valeur d’une variable, dans un article.
Cela aurait pour effet d’augmenter de manière très intéressante, le champ d’action des rédacteurs.
Aujourd’hui pour eux, donner une valeur à une variable est impossible et c’est bien dommage. Seul, actuellement, l’administrateur peut insérer des données dans les fichiers, et les mettre en place par FTP.
Vous avez certainement le pouvoir de communiquer cette proposition et suggestion, auprès des différents responsables du développement de SPIP..
# Le 6 juin 2008 à 00:17, par Michel
Je ne suis qu’un utilisateur lambda.. et je n’ai pas la compétence....
Mais SPIP est une grande communauté, nul doute que quelqu’un saura le faire
Répondre à ce message
# Le 28 mai 2008 à 18:58, par INHA
Jusqu’à présent j’utilisais cette méthode.
Encore récemment avec un psip 1.9.1 cela fonctionnait.
Je viens de passer à la version 1.9.2.
j’aimerais savoir en quoi cette façon de faire est osbolète et pourquoi il vaut mieux passer par les modèles.
Répondre à ce message
# Le 8 avril 2007 à 21:09, par ?
Bonjour, et bravo pour cette astuce du tonnerre !
Toutefois, j’ai suivi les indications à la lettre et je n’obtiens pas le résultat voulu.
Voyez par vous même :
http://www.logiktribe.free.fr/spip.php?article9
Voici les étapes que j’ai suivies :
1- J’ai publié mon article :
#INCLURE (mon_script.php)
2- J’ai édité le fichier “mes_fonctions.php” :
$dossier_inclus = ’dossier_du_script/’ ;
$scripts_autorises = Array(
’mon_script.php’
) ;
3- “mon_script.php” est le suivant :
<?php_ include ("http://monsite/../index.php");
_ ?>
4- Et j’ai édité le fichier “article.html” de mon squelette :
(#TEXTE|autoriser_php)
Voilà, j’éspère que mes explications sont assez claires.
Je sent bien que je suis à deux doigts de résoudre ce disfonctionnement, mais je n’y arrive vraiment pas
Merci d’avance au spip(eur/euse) qui voudra bien me sortir de ce mauvais pas.
A bientôt.
# Le 4 février 2008 à 10:26, par ?
大阪デリヘル
Répondre à ce message