SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 263 visiteurs en ce moment

Accueil > Administration et BDD > Le filtre parametre_url

Le filtre parametre_url

22 août 2005 – par François Schreuer, James – 14 commentaires

Depuis la version 1.8 de SPIP, la balise #SELF permet de récupérer l’URL de la page appelée, nettoyée — nous dit la doc — des variables propres à l’exécution de SPIP. Par exemple, pour une page avec l’url : article.php3?id_article=25&var_mode=recalcul la balise #SELF retournera : article.php3?id_article=25.

Très pratique donc (elle nous évite de devoir appeler une variable d’environnement en php), la balise #SELF renvoie néanmoins un résultat qui n’est pas facilement manipulable. En particulier, il n’est pas aisé de modifier un paramètre de la chaîne sans devoir tout décomposer.

Le filtre présenté ici — qui a été récupéré du projet Sedna sur SPIP Zone —, répond simplement à ce problème.

Commencez par copier le bout de code suivant dans votre fichier mes_fonctions.php3, à créer, le cas échéant, à la racine de votre site spip :

Il ne vous reste plus qu’à appeler ce filtre dans vos squelettes selon le schéma suivant :

Par exemple, si #SELF renvoie page.php3?tri=date&ordre=inverse&debut_page=100&mode=large&lang=fr et que vous voulez changer la valeur du paramètre tri (actuellement à la valeur « date ») par « titre », sans toucher au reste de la chaîne, il vous suffit d’écrire ceci :

À noter

-  Vous pouvez, bien sûr, appliquer ce filtre à une autre url spip (#URL_ARTICLE, #URL_SITE_SPIP, etc) ;

-  Si le paramètre n’est pas présent dans la chaîne, il est simplement ajouté à la suite de la chaîne existante ;

-  Si la valeur est omise, c’est la valeur « globale » qui sera ajoutée(i.e. [(#SELF|parametre_url{id_document})]) ;

-  Si la valeur est une chaîne vide ou vaut 0, le paramètre est retiré de l’url ;

-  Vous pouvez utiliser des objets SPIP (et pas uniquement des chaînes statiques) comme variables du filtre. Par exemple, à l’intérieur d’une boucle dont la langue est différente de la langue globale :

Exemple d’utilisation

L’article Donner la possibilité aux visiteurs de choisir le critère de tri d’une liste est un bon exemple de l’utilisation de ce filtre.

P.-S.

ce filtre a été intégré dans spip 1.8.2

Dernière modification de cette page le 8 décembre 2006

Retour en haut de la page

Vos commentaires

  • Le 25 octobre 2007 à 09:58, par thibault En réponse à : Le filtre parametre_url

    bonjour,

    est-il possible d’utiliser cette balise pour récupérer dans l’url, par exemple, rubrique11 et l’utiliser pour personnaliser le bandeau suivant le numero de rubrique ?

    • Le 25 octobre 2007 à 13:00, par James En réponse à : Le filtre parametre_url

      Comme le précise le titre de cet article, on parle d’un filre, à quelle balise fais-tu allusion ? #SELF ?

      Personnaliser le bandeau de quoi ?

      Sinon, d’une manière générale, ce filtre sert à fabriquer des urls en ajoutant ou modifiant des paramètres pour les liens hypertextes que le squelette produira. Si tu veux récupérer des paramètres issus de l’url, c’est la balise #ENV qui sera le plus souvent ton amie :)

    • Le 7 novembre 2007 à 12:48, par thibault En réponse à : Le filtre parametre_url

      merci beaucoup pour ta réponse.
      j’ai une autre question : ou se trouve le fichier qui contient le texte :
      « L’espace privé de ce site est ouvert aux visiteurs, après inscription. Une fois enregistré, vous pourrez consulter les articles en cours de rédaction, proposer des articles et participer à tous les forums.
      Identifiants personnels
      Indiquez ici votre nom et votre adresse email. Votre identifiant personnel vous parviendra rapidement, par courrier électronique. »

      qui se trouve au dessus du formulaire d’inscription ?
      je souhaite le modifier !

    • Le 7 novembre 2007 à 14:36, par James En réponse à : Le filtre parametre_url

      ça n’a aucun rapport avec cette contrib, demande à la liste utilisateur (<http://listes.rezo.net/mailman/list...>) :)

    Répondre à ce message

  • Le 9 octobre 2006 à 10:59, par Birdy En réponse à : Le filtre parametre_url

    Bonjour,

    Quand je veux transmettre l’id_article vers une page spéciale à imprimer, j’utilise ceci :

    <a href="[(#URL_PAGE{imprimer_article}|parametre_url{'id_article',#ID_ARTICLE})]" target="_blank" title="<:imprimer_article:>"><img src="IMG/design/imprimer.jpg" width="28" height="28" border="0"/></a>

    Malheureusement, l’id_article ne passe pas sauf si je remplace #ID_ARTICLE par un nombre correspondant à un article (235 par exemple), ce qui n’est pas vraiment le but... Y a-t-il un problème de syntaxe ?

    • Le 9 octobre 2006 à 13:39, par Alexandra En réponse à : Le filtre parametre_url

      Chez moi le code que voici fonctionne :

      <div>
      <a href="#URL_PAGE{imprimer,id_article=#ID_ARTICLE}" title="afficher une version imprimable de cet article" onclick="window.open(this.href,'_blank');return false;">
      <img src='//static-contrib.spip.net/squelettes/impresora.gif' alt="impression" title="impression" />
      </a>
      Imprimer cet article
      </div>

      Cf dans la partie privée de contrib http://www.spip-contrib.net/ecrire/...

    • Le 9 octobre 2006 à 13:51, par James En réponse à : Le filtre parametre_url

      dans ton squelette article.html, vers la ligne 55 :

      <INCLURE{fond=imprimer}{article}> est erroné.

      tu doit ecrire

      <INCLURE{fond=imprimer}{id_article}> est erroné.

      et dans ton fond imprimer.html, tu doit soit entouré ton lien avec une boucle :

      <BOUCLE_imprimer(ARTICLES){id_article}>
      <a href="[(#URL_PAGE{imprimer_article}|parametre_url{'id_article',#ID_ARTICLE})]" target="_blank" title="<:imprimer_article:>"><img src="IMG/design/imprimer.jpg" width="28" height="28" border="0"/></a></BOUCLE_imprimer>

      mais tu pourrais aussi essayé ça :

      <a href="[(#URL_PAGE{imprimer_article}|parametre_url{id_article,#ENV{id_article}})]" target="_blank" title="<:imprimer_article:>"><img src="IMG/design/imprimer.jpg" width="28" height="28" border="0"/></a>
    • Le 9 octobre 2006 à 16:18, par Birdy En réponse à : Le filtre parametre_url

      Parfait ! C’était ça le problème : le id_article n’était pas transmis dans le INCLURE. Maintenant, c’est OK.
      Merci ;-)

    Répondre à ce message

  • Le 9 septembre 2005 à 15:31, par byld En réponse à : > Le filtre parametre_url

    Ce filtre a l’air super. Etant sous 1.8.1 je tente vainement pourtant de l’utiliser pour classer mes auteurs au travers un repertoire alphabetique.
    J’ai crée un tableau un peu ainsi :

    <TD class="col"><A HREF="auteur.php3?id_auteur=aA">A</A></TD>
                     <TD class="col"><A HREF="auteur.php3?id_auteur=bB">B</A></TD>

    dans un squelette listeauteur.html suivi bien sûr par son appel en php : listeauteur.php3
    Dans ma boucle j’ai fait ainsi :
    <BOUCLE_liste_auteurs(AUTEURS) [(#SELF|parametre_url{lettre,aA})]></BOUCLE_liste_auteurs>
    Alors je pédale dans la semoule car non seulement j’ai des erreurs de synthaxe dans la boucle d’après debug, mais rien ne se passe pas le moindre affichage d’un auteur dont le nom commencerait par a ou A
    Cette contib est trop malicieuse pour le novice que je suis et si quelqu’un avait la gentillesse de m’aider, je lui en serait fort reconnaissant

    • Le 9 septembre 2005 à 16:41, par mortimer En réponse à : > Le filtre parametre_url

      <BOUCLE_liste_auteurs(AUTEURS) [(#SELF|parametre_url{lettre,aA})]></BOUCLE_liste_auteurs>

      délire ! qu’est ce que tu essais de faire ? on peut pas mettre une url au milieu d’une boucle comme cela, juste des critères.

      je pense que tu as mal compris le fonctionnement de ce filtre : il ajoute une variable dans une url. Il ne retourne pas une variable contenue dans l’url.

      Ce qu’il te faut dans ce cas, c’est la balise #ENV. Si tu es en 1.8.2 (vas, y c’est gratuit), tu peux faire :

      <BOUCLE_auteurs(AUTEURS) {nom == ^[#ENV{lettre}]}>
      ...
      </BOUCLE_auteurs>

      pour faire ce que tu veux.

    • Le 9 septembre 2005 à 18:04, par byld En réponse à : > Le filtre parametre_url

      Je crois avoir compris ! J’étais parti je ne sais où ?
      Je remplace donc mes url’s par le filtre et si je comprends bien j’utilise la balise #ENV
      Je viens de passer en 1.8.2d depuis tout à l’heure, ça devrait le faire ;o)
      Merci à toi, j’étais totalement à côté de la plaque

    Répondre à ce message

  • Le 24 août 2005 à 11:08, par François Schreuer En réponse à : > Le filtre parametre_url

    Le filtre vient d’être ajouté à la version de développement :
    http://trac.rezo.net/trac/spip/chan...

    (lors du passage à une version ultérieure à la 1.8.2, il faudra donc retirer le filtre du fichier mes_fonctions.php3).

    François

    • Le 5 septembre 2005 à 10:38, par James En réponse à : Obsolète dès la version 1.8.2-c !

      Plus rapide qu’annoncé. Ce filtre est intégré dans la version 1.8.2-c de SPIP du 4 septembre. Sa documentation est à paraître.

    Répondre à ce message

  • Le 22 août 2005 à 20:16, par Paul Sanches En réponse à : > Le filtre parametre_url

    Génial, merci pour le explications.

    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

  • Facteur

    21 janvier 2010 – 391 commentaires

    Un plugin pour regrouper toutes les fonctions avancées autour de l’envoi de courriels. Introduction SPIP propose une fonction générique envoyer_mail() pour envoyer un courriel. Elle est assez simple d’utilisation mais peut paraître limitée (...)

  • Réservation d’événements

    16 mars 2015 – 340 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification (...)

  • Plugin Modèles media

    25 avril 2011 – 177 commentaires

    Les modèles , et produisent chacun un résultat différent et ce résultat, pour les images, dépend du fait qu’elle soit dans le portfolio ou non. Ce plugin propose une nouvelle série de modèles ayant un comportement unifié et indépendant du mode des (...)

  • Mailsubscribers

    16 janvier 2013 – 307 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes (...)

  • Plugins Giseh

    26 novembre 2010 – 422 commentaires

    Les plugins correspondants aux fonctionnalités de Giseh, compatibles avec SPIP 3.0 (et SPIP 2.1), sont les suivants : le plugin « ciparam : Configurateur de squelettes » le plugin « cisquel : Squelettes de base avec 3 colonnes » le plugin «  (...)

Ça spipe par là