SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 157 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

  • Zpip et la création rapide de pages

    23 mars 2010 – 38 commentaires

    Le modèle de squelettes Zpip est organisé pour faciliter et accélérer le développement d’un site. Deux fonctionnalités particulières permettent la création rapide de pages types dans votre squelette, en un minimum de développement. Organisation de (...)

  • Plugin SEO

    6 août 2009 – 255 commentaires

    SEO est un plugin qui ajoute la possibilité d’insérer manuellement où vous le souhaitez ou de manière automatique dans la partie de votre site web : meta tags, URL canonique, Google webmaster tools Meta Code et Google Analytics javascript. Il est (...)

  • GIS 4

    11 août 2012 – 1526 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • ScolaSPIP 4

    19 janvier 2016 – 383 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • Jeux pour SPIP 3

    27 juillet 2012 – 53 commentaires

    Un portage pour SPIP 3 du plugin Jeux a été fait. Explications et nouveautés. Cet article concerne une mise à jour du plugin Jeux dont la description complète est disponible ici : Des jeux dans vos articles !. Le code du plugin Jeux est un code (...)