Carnet Wiki

Appels par Balises URL

Version 4 — 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__{...}"></code >  d'un  squelette 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'<code>#ID_identificateur

de l’objet concerné) est intégrée au langage :
_
cette syntaxe est valable pour : ARTICLE , RUBRIQUE , BREVE , MOT , DOCUMENT , FORUM [spécificités (…)" id="nh2">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

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 [3], #URL_ FORUM [4], #URL_SITE (ou #URL_SYNDIC)
elle est étendue à d’autres objets : #URL_SITE_SPIP (pour le site d’origine..), #URL_SOURCE [5]
enfin, l’ouverture a des URL calculées ou spécifiques, est assurée par #URL_PAGE (voir)
avec ses pendants pour l’espace privé : en URL_ACTION_AUTEUR et URL_ECRIRE (voir plus bas !)
sans oublier quelques balises spéciales : #LOGIN

Nota.Bene : :
ces balises calculent les liens en URL relative, en tenant compte des modes d’URL personnalisées.
Comme pour les balises d’accès direct ci-dessous, vous pouvez rajouter des paramètres complémentaires : voir les Aides au Débuggage de squelettes.

Paramètrages d’appel complémentaires


-  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 ? )
-  un usage particulier de #URL_PAGE{table:TABLE_non_spip} correspond à l’intégration de « Vertebrer », la nouvelle extension automatisant le scaffolding sur totue table SQL

-  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

Le fonctionnement de l’interface privée se répartit entre les appels d’« exec » et les appels d’« action » ; la différence ......

Interface Privée


-  #URL_ACTION_AUTEUR

-

#URL_ACTION_AUTEUR&lt;/code >}}
 <quote>#URL_ACTION_AUTEUR{action} 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.</quote>(depuis la [1.9.2->http://www.spip.net/fr_article3567.html#URL_ACTION_AUTEUR])


- {{<code>#URL_ECRIRE
<blockquote class="spip"></blockquote>

(n’est pas [encore  (…)" id="nh6">6] documentée)

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

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


-*  <code>#URL_ECRIRE{naviguer,args}&lt;/code >  renvoie :   <code>ecrire #URL_ECRIRE{naviguer ,  args} 
 returns  ecrire /?exec=naviguer&args
(it's like #URL_PAGE in fact)&lt;/code > fact ) 


-*  <code>#URL_ACTION_AUTEUR{converser,args,redirectme}&lt;/code >  renvoie :   <code>ecrire #URL_ACTION_AUTEUR{converser,args,redirectme} 
 returns  ecrire /?action=converser&args&hash=xxx&redirect=redirectme&lt;/code > 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&..