Carnet Wiki

Appels par Balises URL

Version 3 — 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 :
-  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 : ARTICLE, RUBRIQUE, BREVE, MOT, DOCUMENT, FORUM [2] SYNDIC, SITE
elle est étendue à d’autres objets : SITE_SPIP
elle se génréalise pour l’espace privé : en _ACTION_AUTEUR et _EXRIRE
#URL_ARTICLEbalise

Paramètrages d’appel


-  les paramètres obligatoires

la variable page=squel permet l’accès à un squelette HTML de nom squel.html
les valeurs id_rubrique= ou id_article= facilitent l’appel direct à un squelette personnalisé pour la rubrique ou l’article courant.
l’appel en syntaxe raccourcie (sauf usage de systèmes d’URL personnalisées), d’une façon analogue aux codes #URL_ARTICLE ou #URL_RUBRIQUE des squelettes, s’abrege donc en passant le type de table suivi de son n° d’enregistrement : ?article109 ou ?rubrique23 (ce raccourci serait-il extensible à d’autres tables non standard

- variables complémentaires en paramètres de l’URL d’appel

var_mode = calcul | recalcul | debug | preview _ ?var_mode=debug _ ?var_mode=calcul&var_profile=1
connect = pour utiliser la connexion à une base de données secondaire

- autres variables spécifiques :

var_skel= sous-répertoire de squelettes pour le switcher de squelettes
skel= pour forcer un chemin (?) voir Un login/logout dans le pied qui fait du bien

pour passer de multiples arguments à une #URL_.. : pensez au filtre - http://www.spip.net/fr_article901.h... (tu peux enchainer plusiers fois le filtre |parametre_url’param1’,12|parametre_url’param2’,’Salut !’

Interface Publique

Interface Privée


-  #URL_ACTION_AUTEUR

<blockquote class="spip">

#URL_ACTION_AUTEURaction affiche l’adresse de l’action « action » avec le nécessaire pour vérifier les autorisations du visiteur connecté. Cette balise accepte deux paramètres supplémentaires et facultatifs : une liste d’arguments et une adresse de redirection éventuelle.

</blockquote>

(depuis la 1.9.2)

- #URL_ECRIRE

<blockquote class="spip"></blockquote>

(n’est pas encore [3] documentée)

Ou bien (citation extraite de http://my.opera.com/tech-nova/blog/... ) :
#URL_ECRIRE just discovered

Tuesday, 5. February 2008, 00:15:40


private area, tag, url
I barely know what #URL_PAGE is.
But not #URL_ECRIRE,.. until today :wink:


This helper, like #URL_ACTION_AUTEUR, enables us to link your website to the private area.


#URL_ECRIRE{ naviguer }
returns ecrire/?exec=naviguer


#URL_ECRIRE{naviguer, args}
returns ecrire/?exec=naviguer&args
(it's like #URL_PAGE in fact)


#URL_ACTION_AUTEUR{converser,args,redirectme}
returns ecrire/?action=converser&args&hash=xxx&redirect=redirectme


Combined with a filter like |parametre_url, you can do whatever you want :


For example :


<a href="#URL_PAGE{identifiants,focus=nom_inscription}&mode=(#URL_SITE_SPIP|tester_config{1comite})"
(in dist/login.html)
that returns <a href="spip.php?page=identifiants&focus=nom_inscription&mode=.."


It should possible to write
#URL_ECRIRE{forum_envoi,statut=prive&id=363&script=articles#formulaire}


but you can also use this :
[(#URL_PAGE{my_backend}|parametre_url{id_mot,#ID_MOT}|parametre_url{id_rubrique,#_:ID_RUBRIQUE})]
to generate <a href="spip.php?page=my_backend&id_mot=32&id_rubrique&..