Version 4 — Mars 2012 — YannX
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_ARTICLE
balise
- 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.
- 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 !’
Le fonctionnement de l’interface privée se répartit entre les appels d’« exec » et les appels d’« action » ; la différence ......
- #URL_ACTION_AUTEUR
-
#URL_ACTION_AUTEUR</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
(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}</code > renvoie : <code>ecrire #URL_ECRIRE{naviguer , args}
returns ecrire /?exec=naviguer&args
(it's like #URL_PAGE in fact)</code > fact )
-* <code>#URL_ACTION_AUTEUR{converser,args,redirectme}</code > renvoie : <code>ecrire #URL_ACTION_AUTEUR{converser,args,redirectme}
returns ecrire /?action=converser&args&hash=xxx&redirect=redirectme</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&..