SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 94 visiteurs en ce moment

Accueil > Documentation > Archives documentation > FAQ - Les questions fréquentes > Comment récupérer une « variable spip » en une variable PHP ?

Comment récupérer une « variable spip » en une variable PHP ?

27 avril 2003 – par Filifab – 15 commentaires

7 votes

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Il suffit simplement de faire :

<?php $soustitre = '[(#SOUSTITRE|texte_script)]'; ?>

Attention : C’est la seule technique opérationnelle, pas de ", d’addslashes ou autres joyeusetés sous peine de plantage voire de faille dans la sécurité.

Dernière modification de cette page le 27 avril 2003

Retour en haut de la page

Vos commentaires

  • Le 5 août 2009 à 15:53, par pipol En réponse à : Comment récupérer une « variable spip » en une variable PHP ?

    Même avec le heredeoc ZORG la je n’arrive pas a récupérer mon LOGO_DOCUMENT.

    Pourtant je n’ai aucun souci à récuperer le titre ou autre chose concernant ce doc :/

    Je suis en train de faire ce site :
    http://www.gallarddidierarchitecte.fr/spip.php?page=accueil&lang=fr

    Je fais apparaitre mes articles dans des conteneurs avec du javascript sur un onclick sur le div class=block. J’ai reussis sans probleme a appeler le texte et le titre de l’article avec ce code :

    <div class="block" onclick="getarticle('[(#TITRE|texte_script)]','[(#TEXTE|inserer_attribut{'class',article}|texte_script)]',this,'LES PHOTOS')">

    Et la function javascript associé :

    <script type="text/javascript">

           //ARTICLES:
           function getarticle(titre,texte,elementthis,photo){
         
                   contit = document.getElementById("box_titre");
                   contit.innerHTML = "";
                   contit.innerHTML += titre;
                 
                   contart = document.getElementById("box_article");
                   contart.innerHTML = "";
                   contart.innerHTML += texte;      
                         
                   contpho = document.getElementById("box_photo");
                   contpho.innerHTML = "";
                   contpho.innerHTML += photo;
                 
                   //change la couleur du block article
                   elementthis.style.backgroundColor="#b8e79f";
                         
         
           }  
    </script>

     

    Mais mon souci c’est maintenant d’appeler les LOGO_DOCUMENT lié à l’article Si je remplace carrement dans la fonction getarticle, ce que j’ai appeler la pour l’exemple MES PHOTOS par une boucle spip cela ne fonctionne pas. j’avais penser alors mettre la boucle carrément dans le script et aller chercher les bon document avec une variable javascript definis par ID_ARTICLE, seulement vu que la boucle s’execute avant le javascript impossible.

    je me suis donc tourné vers une autre idée utiliser du PHP. Et j’ai insérer ce code dans ma BOUCLE article

            <?php $id = 'num'.'[(#ID_ARTICLE|texte_script)]'; ?>      
                                                     
            <BOUCLE_photo(DOCUMENTS){id_article}{extension==jpg|png|gif}>
                                             
                      <?php
                       $$id .= '[(#TITRE|texte_script)]';
                       ?>
                                               
             </BOUCLE_photo>

             <div class="block" onclick="getarticle('[(#TITRE|texte_script)]','[(#TEXTE|inserer_attribut{'class',article}|texte_script)]',this,'<?php echo $num[(#ID_ARTICLE|texte_script)]; ?>')">

    Et la miracle sa marche pour tout #TITRE, #FICHIER etc..!!!..Mais ooh malheur sauf pour la balise #LOGO_DOCUMENT qui fait bugger le site

    Il y a deux document associé à l’ article (REA./EQUIP/2003 cheaume etc..) et on vois bien leur titre apparaitre en haut. Mais si je remplace titre par logo c’est foutu .. Je ne comprend aps ce qui bug..

    Peu être c’est impossible et je dois partir dans une autre direction ??
    Si quelqun a une idée.. Merci d’avance.

    Répondre à ce message

  • Le 22 juin 2009 à 17:00, par Christophe Sevin En réponse à : Comment récupérer une « variable spip » en une variable PHP ?

    Bonjour,

    Je débute en spip. Je suis en stage pour 2 mois encore et j’ai besoin de votre aide.

    J’ai parcouru le net à la recherche d’une reponse à ma question mais en vain. Je suis tomber sur ce topic qui est exactement ce que je cherche mais aucune des réponse ne semble fonctionner. Voila ce que j’ai essayé pour récupérer ma variable de SPIP à PHP :

    <?php $titre #TITRE ; ?>
    <?php $titre '#TITRE' ?>
    <?php $titre = [(#TITRE|texte_script)] ; ?>
    <?php $titre '[(#TITRE|texte_script)] '?>
    <?php $titre = <<<ZORG
    [(#TITRE|texte_script)]
    ZORG;
    echo 
    $titre;
    ?>

    Toutes ces solution renvoie l’erreur « Parse error : parse error in c :\program files\easyphp1-8\www\spip2.0.8\ecrire\public.php(174) : eval()’d code ».

    Je fonctionne sous SPIP2.0.8 peut être est-ce du à cela.
    Si quelqu’un à une piste de résolution je suis preneur.
    Je vous remercie par avance.
    Spip-contrib et tous les contributeurs en général font un bouleau extra ordinaire.
    Christophe Sevin

    • Le 23 juin 2009 à 10:42, par Christophe Sevin En réponse à : Comment récupérer une « variable spip » en une variable PHP ?

      Bonjour tout le monde,

      Je tiens a m’excuser de mon précédent message car je me suis rendu compte que mes tests n’affectaient pas la bonne page. Ainsi, j’ai résolu mon problème (non sans mal ..) grâce à vos conseils. La seule syntaxe à utiliser et qui marche parfaitement est donc bien :

      <?php
       $mavariable 
      '[(#TITRE|texte_script)]';
      ?>

      Encore une fois merci à tous les contributeurs de ce site.
      Bonne journée.
      Christophe Sevin

    Répondre à ce message

  • Le 25 avril 2004 à 21:57, par dani En réponse à : Ne marche pas avec les logos ?

    Sauf erreur de ma part, cette contrib ne marche pas avec des Logos, qui sont des balises calculées ou interviennent des ’" et des «  » imbriqués.

    Par exemple :
    [(#LOGO_ARTICLE_RUBRIQUE||text_script)]
    ne marche pas.

    Je suis en train de tenter de faire un filtre avec serialize et addslashes, mais sans succès pour l’instant.

    • Le 26 avril 2004 à 13:32, par BoOz En réponse à : > Ne marche pas avec les logos ?

      C’est l’url que tu veux ?

      $url='[(#LOGO|fichier|texte_script)]'

    • Le 7 janvier 2005 à 16:49, par Florent En réponse à : > Ne marche pas avec les logos ?

      La seule, l’unique façon de faire, pour s’affranchir de tous les problèmes de guillemets, c’est d’utiliser l’ésotérique syntaxe PHP HereDoc :

      au lieu de :

      <?php $toto = '[(#SOUSTITRE|texte_script)]'; ?>

      faire :

      <?php
      $toto= <<<ZORG
      [(#SOUSTITRE|texte_script)]
      ZORG;
      ?>

      Et là ça marche partout (le seul soucis est de faire attention avec les éditeurs Windows, car la dernière ligne ’ZORG ;’ ne doit pas contenir de caractère \r en fin de ligne. Pour ça, migrez-donc en Linux, il est temps !)

    Répondre à ce message

  • Le 31 juillet 2003 à 05:49, par Frédéric Poncet En réponse à : > Comment récupérer une « variable spip » en une variable PHP ?

    Peut-on créer un champ réservé aux scripts, dans la table articles (par exemple) et faire en sorte que ce champ soit éditable dans l’interface SPIP ?

    (P.S. la création de ce champ avec phpMyAdmin ne suffit pas à le faire prendre en compte par l’interface SPIP)

    • Le 23 décembre 2004 à 17:45, par alain bourdeau En réponse à : > Comment récupérer une « variable spip » en une variable PHP ?

      Bonjour, je suis à la recherche de cette solution moi aussi.

      Dans le « compilateur » SPIP quelqu’un connait-il ou et sous quel nom le « select spip_aticle » est réalisé. Et donc ou et sous quelle forme se trouve les champs de la table article.

      Ma recherche est pour ajouter un champs prix et un champs quantité à un article qui serait pour mon application une revue ou un livre.
      Merci

    Répondre à ce message

  • Le 21 mai 2003 à 17:17, par ? En réponse à : > Comment récupérer une « variable spip » en une variable PHP ?

    et pour faire l’inverse ???

    variable PHP en SPIP
    ou au moiin utilisé dans une boucle spip

    • Le 22 mai 2003 à 12:47, par thomas En réponse à : pas possible

      puisque SPIP est d’abord exécuté :-(

    • Le 26 juillet 2003 à 18:53, par Nemo En réponse à : Re : pas possible

      En effet, on ne peut pas. Mais une solution de remplacement, qui peut faire l’affaire dans certains cas, est expliquée ici :
      http://snurl.com/1w51

      Nemo

    • Le 11 janvier 2004 à 14:51, par ? En réponse à : > Re : pas possible

      Heu j’aurais bien aimé avoir la soluce proposée mais le lien ci-dessus est mort ! :(
      Serait-il possible de redonner la solution qui permet dans certains cas de récupérer dans une vaiable SPIP la valeur d’une variable PHP ?

    • Le 12 avril 2004 à 15:23, par nycola En réponse à : > Re : pas possible

      Si l’on veut utiliser une variable PHP pour sélectionner une rubrique (par exemple), il y a une solution.

      Par exemple, ma variable PHP $mon_numero contient une valeur (résultant d’un calcul ou passée dans l’URL). Je veux sélectionner les articles dont l’id_rubrique est égal à $mon_numero.

      <BOUCLE_articles(ARTICLES){id_rubrique}>
      <?php
      if ($id_rubrique==$mon_numero) {
      ?>
      contenu de la boucle (code HTML avec balises SPIP)
      <?php
      }
      ?>
      </BOUCLE_articles>
    • Le 25 avril 2004 à 22:08, par dani En réponse à : Quelques pistes pour passer de php à spip

      Il y a un intéressant fil de discussion sur le sujet sur les forums du site de SPIP, avec deux propositions, une pour définir une balise qui provoque que ce code php soir exécuté au moment de calculer le squelette, et une deuxième pour passer des variables de l’URL et des valeurs de balises dans le contexte des squelettes spip.

      J’ai testé la deuxième, ça marche et c’est puissant.

    Répondre à ce message

  • Le 4 août 2003 à 14:33, par Spidermotard En réponse à : > Comment récupérer une « variable spip » en une variable PHP ?

    Bonjour,

    Juste une petite précision qui évitera aux moutons comme moi de perdre une heure ou deux :o)

    Si vous récupérez une variable qui ne fonctionne pas avec les filtres, alors il ne faut pas rajouter le filtre. Hey oui, c’est con mais je suis tombé en plein dedans.

    <?php $id_secteur = ' [(#ID_SECTEUR)] '; ?>

    Merci pour le tuyau.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Twitter

    17 juin 2013 – 109 commentaires

    Un plugin qui facilite l’intégration de Twitter dans un site SPIP et permet : d’envoyer facilement des messages avec un ou plusieurs comptes Twitter d’afficher des Widgets standards dans le site public (qui respectent la vie privée des visiteurs) (...)

  • Polyhiérarchie

    14 juillet 2009 – 189 commentaires

    Ce plugin permet de rattacher un article ou une rubrique à plusieurs rubriques parentes.

  • Plugin SPIP-Géoportail

    17 août 2010 – 478 commentaires

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps, Bing ou Yahoo !... Nouvelle version Suite au changement de version de l’API géoportail et des (...)

  • Plugin Vidéo(s)

    23 novembre 2010 – 703 commentaires

    Interface de gestion et modèle d’insertion des vidéos : Dailymotion Vimeo Youtube Modèle de la balise HTML5 video avec alternative flash html5media : Lecture HTML5/Flash pour tout navigateur des fichiers MP4/H264/Ogg/WebM/Mkv Support mobile, iPad, (...)

  • Ferme à SPIP

    3 janvier 2008 – 152 commentaires

    Un petit article synthétique qui explique en quelques mots et captures d’écrans comment faire une « ferme à SPIP » avec le plugin "Mutualisation" à partir d’un nom de domaine principal.