Carnet Wiki

Appels par Balises URL

Version 7 — Mars 2012 YannX

Les balises d’appel dynamique [1] dans SPIP sont nombreuses, mais pas toujours documentées complètement : tentative de consolidation des documentations et informations trouvées (pour la V2).

SPIP possède plusieurs façons -plusieurs balises- pour générer un lien d’appel à une page, qu’on insérera, à l’intérieur de guillemets dans la balise <a href="#URL__{...}"> d’un squelette :
-  pour les objets standards de SPIP, une balise contextuelle par défaut(utilisant donc comme second argument implicite l’#ID_identificateur de l’objet concerné) est intégrée au langage :
cette syntaxe est valable pour les objets suivants (décrits dans les tables de même nom -au pluriel-) : #URL_ARTICLE, #URL_RUBRIQUE, #URL_AUTEUR, #URL_BREVE, #URL_MOT, #URL_DOCUMENT [2], #URL_ FORUM [3], #URL_SITE (ou #URL_SYNDIC)
-  elle est étendue à d’autres objets : #URL_SITE_SPIP (pour le site d’origine..), #URL_SOURCE [4]
-  enfin, l’ouverture a des URL calculées ou spécifiques, est assurée par #URL_PAGE suivi d’un premier paramètre obligatoire, définissant le nom [5]documentée)
En quelques mots, #URL_ECRIRE est le correspondant de #URL_PAGE pour les exec de la partie privée ; de plus, la page recherchée est éventuellement acquise directement depuis un sous-repertoire formulaire(cf. Programmer , avec le meme fonctionnement que #URL_ACTION_AUTEUR en acceptant un troisième argument pour rediriger l’utilisateur sur une page après exécution du traitement...

Préciser le fonctionnement des passages d’arguments(un ou plusieurs : cf. http://www.spip.net/fr_article4630.html), la nécessité ou non de les encadrer de quotes....... qq.soucis avec l’expansion du & ?à vérifier ?

Quelques exemples :
#URL_ECRIRE{ naviguer } renvoie : ecrire/?exec=naviguer

-* #URL_ECRIRE{naviguer,args} renvoie : ecrire/?exec=naviguer&args

-* #URL_ACTION_AUTEUR{converser,args,redirectme} renvoie : ecrire/?action=converser&args&hash=xxx&redirect=redirectme

Quelques exemples :

  • #URL_ECRIRE{ naviguer } renvoie : ecrire/?exec=naviguer
  • #URL_ECRIRE{naviguer,args} renvoie : ecrire/?exec=naviguer&args
  • #URL_ACTION_AUTEUR{converser,args,redirectme} renvoie :
    ecrire/?action=converser&args&hash=xxx&redirect=redirectme&lt;/code >
     -* un exemple complet propose un mode testant meme les autorisations :
    _ <code><a href="#URL_PAGE{identifiants,focus=nom_inscription}&mode=(#URL_SITE_SPIP|tester_config{1comite})"

    (in dist/login.html)
    renvoie <a href="spip.php?page=identifiants&focus=nom_inscription&mode=.."

Ainsi pourrait-on ecrire :

#URL_ECRIRE{forum_envoi,statut=prive&id=363&script=articles#formulaire}

Ainsi pourrait-on ecrire :

 
[(#URL_PAGE{my_backend}|parametre_url{id_mot,#ID_MOT}|parametre_url{id_rubrique,#_:ID_RUBRIQUE})]

renvoie :

<a href="spip.php?page=my_backend&id_mot=32&id_rubrique&..
en-cours d’améliorations et validations..