Els formularis s’insereixen a les plantilles amb una simple etiqueta; SPIP s’encarrega a continuació d’administrar el comportament (sovint complex) d’aquests formularis en funció de l’entorn i de les configuracions fetes a l’espai privat.
Funcions interactives
- #FORMULAIRE_RECHERCHE
Es tracta del formulari del motor de cerca integrat a l’SPIP. Es presenta a l’article sobre els bucles de cerca.
- #FORMULAIRE_FORUM
El #FORMULAIRE_FORUM
gestiona la interfície que permet enviar un missatge als fòrums públics. Fa referència en primer lloc al bucle FORUMS però pot ser utilitzat en tots aquells bucles que acceptin un fòrum:
- El bucle ARTICLES,
- El bucle RUBRIQUES (Seccions),
- El bucle BREVES (Breus),
- El bucle SITES o SYNDICATION (llocs o sindicació).
El formulari depèn evidentment de l’elecció dels fòrums moderats a posterior, a priori o per subscripció.
[SPIP 1.8.2] Per defecte, un cop enviat el missatge, es retorna al visitant cap a la pàgina de l’element [1] al que ha respost. Es pot decidir de dirigir-lo cap a una altra pàgina si passem una url en paràmetre a aquesta etiqueta. Per exemple:
-
[(#FORMULAIRE_FORUM{'spip.php?page=merci'})]
ens enviarà cap a la pàgina spip?page=merci.
Històric: Per a les versions anteriors a [SPIP 1.9], hauríem d’haver escrit merci.php3.
Fins a [SPIP 1.9], els fitxers d’SPIP tenien una extensió en .php3 i no en .php.
-
[(#FORMULAIRE_FORUM{#SELF})]
enviarà cap a la pàgina on hi ha situat el formulari del fòrum (veure l’etiqueta #SELF).
En el cas (molt específic) que s’autoritzi la presència de paraules clau als fòrums públics, es pot afinar el comportament d’aquest formulari amb les variables de personalització.
- #FORMULAIRE_SIGNATURE
L’etiqueta #FORMULAIRE_SIGNATURE
mostra un formulari que permet als visitants del lloc signar les peticions associades als articles. Per tant, aquesta etiqueta es col·loca en un bucle ARTICLES.
La signatura de peticions reclama obligatòriament una validació de les signatures per correu electrònic. Per tant, aquest formulari només té interès si el vostre hostatjador autoritza l’enviament de correus electrònics per PHP.
- #FORMULAIRE_SITE
Introduït a [SPIP 1.4], l’etiqueta #FORMULAIRE_SITE
publica un formulari que permet als visitants del lloc proposar referenciaments de llocs. Aquests llocs apareixeran com a «proposats» a l’espai privat, mentre esperen una validació dels administradors.
Aquest formulari només es mostra si heu activat la opció «Gestionar una guia del lloc» a la Configuració del lloc a l’espai privat, i si heu regulat «quins visitants del lloc públic» són els «que poden proposar llocs referenciats».
Com que a l’SPIP els llocs referenciats estan vinculats a les seccions, aquest #FORMULAIRE_SITE
només es podrà col·locar que a l’interior d’un bucle RUBRIQUES (Seccions)
- #FORMULAIRE_ECRIRE_AUTEUR
[SPIP 1.4] Col·locat a l’interior d’un bucle AUTEURS (Autors), aquesta etiqueta mostra el formulari que permet enviar un correu electrònic a l’autor. Això permet escriure als autors sense divulgar, al lloc públic, la seva adreça de correu electrònic.
[SPIP 1.8.2] Situat en un bucle ARTICLES, aquest formulari permet enviar un correu electrònic a tots els autors d’aquest article.
[SPIP 1.8.2] Situat en un bucle FORUMS, aquest formulari permet enviar directament un correu electrònic a l’autor del missatge si l’autor està registrat al lloc Web.
Subscripció, autenticació...
- #FORMULAIRE_INSCRIPTION
Indubtablement el més important, l’etiqueta #FORMULAIRE_INSCRIPTION
(FORMULARI DE SUBSCRIPCIÓ) mostra el formulari que permetrà la subscripció de nous redactors. Només mostra una interfície per subscriure’s quan heu autoritzat la inscripció automàtica a partir del lloc públic (sinó, aquesta etiqueta no mostra absolutament res).
La subscripció necessita l’enviament d’informacions de connexió (login i contrasenya) per correu electrònic; per tant, aquest formulari només funciona si el vostre hostatjador autoritza l’enviament de correus electrònics per PHP.
- [(#FORMULAIRE_INSCRIPTION{6forum})]
Equival a l’anterior pel que fa a la inscripció dels visitants, cridats a escriure als fòrums (reservats als visitants registrats), opció que es determina a la part privada a configuració/interactivitat/Mode de funcionament per defecte dels fòrums públics. El paràmetre «6forum» correspon al títol de l’estatus d’autor desitjat durant la inscripció.
Després de la validació, un missatge adverteix al visitant: "El vostre nou identificador us acaba de ser enviat per correu electrònic".
- #LOGIN_PRIVE
[SPIP 1.4] Tan important (o fins i tot més) aquesta etiqueta mostra el formulari d’accés a l’espai privat (la part «/ecrire» del lloc).
Important: aquesta etiqueta s’ha de presentar forçosament a la plantilla cridada per la pàgina spip.php?page=login
, és a dir en la plantilla anomenada login.html
. En efecte, durant els accessos directes a l’adreça «/ecrire» del vostre lloc, l’SPIP us dirigirà cap a spip.php?page=login
.
Històric: Per a les versions anteriors a SPIP 1.9, es tracta de l’esquelet cridat per la pàgina
spip_login.php3
, és a dir, en estàndard per l’esquelet anomenatspip_login.html
En general, fins a SPIP 1.9, els urls de les pàgines generades per SPIP seguien la forma http://elmeulloc.net/xxx.php3 i no
http://elmeulloc.net/spip.php?page=xxx
.
- #LOGIN_PUBLIC
[SPIP 1.4] Amb un ús molt més específic, l’etiqueta #LOGIN_PUBLIC
mostra un formulari que permet als vostres usuaris identificar-se encara que es quedin a l’espai públic (sense entrar a l’espai privat). Aquesta etiqueta serveix sobretot per autenticar els visitants en aquells llocs on s’hi proposen fòrums moderats per subscripció. També pot servir de punt de partida per restringir l’accés a certs continguts del lloc públic: però el seu maneig és força complex, i són necessaris encara el desenvolupament i la redacció de tutorials complets abans de ser fàcilment utilitzable per tots; tot i així, una mica més avall trobarem un exemple d’ús avançat.
El #LOGIN_PUBLIC
és, per defecte, un «bucle sobre ell mateix», es a dir que el formulari retorna a la pàgina on es troba. Es pot indicar una pàgina cap a la que el formulari anirà, de la manera següent:
[(#LOGIN_PUBLIC|spip.php?page=mapage)]
Una altra escriptura és possible (i és la única possible amb [SPIP 2->3838]), n'hi ha prou en passar l'url en paràmetre i ja no a través del filtre. Això ens resulta :
[(#LOGIN_PUBLIC#URL_PAGEmapage)]
<quote>{Històric:} En les versions anteriors a [->3369] hauria estat necessari escriure <tt>mapage.php3</tt> i no <code>spip.php?page=mapage</code>
En general, fins a [->3369], els urls de les pàgines generades per SPIP eren del tipus http://elmeulloc.net/xxx.php3 i no <code>http://elmeulloc.net/spip.php?page=xxx</code> .</quote>
Si el vostre lloc ofereix una subscripció automàtica a l'espai privat, les dades de connexió a l'espai públic són idèntiques a les de l'espai privat; és a dir que les dades enviades a l'usuari per identificar-se a l'espai públic li permeten igualment accedir a l'espai privat. Si, contràriament, heu prohibit la inscripció automàtica a l'espai privat, necessitareu imperativament tenir, com a mínim, un article que tingui els fòrums gestionats en mode «amb subscripció» per activar aquesta etiqueta. A partir d'aquest moment l'SPIP podrà proporcionar al visitant les informacions de connexió pel lloc públic sense accés a l'espai privat.
{{<code>#URL_LOGOUT</code>}} [->3499] està relacionat amb <code>#LOGIN_PUBLIC</code>; dóna una URL que permet a un visitant autenticat desconnectar-se.
[->3176] Es pot passar un paràmetre a aquesta etiqueta per especificar l'adreça de resposta després de la desconnexió. Per exemple <code>[(#URL_LOGOUT{spip.php?page=sommaire})]</code> ens torna a la pàgina del sumari.
<quote>{Històric:} A les versions anteriors a [->3369], hauríem d'haver escrit <code>[(#URL_LOGOUT{sommaire.php3})]</code> i no <code>[(#URL_LOGOUT{spip.php?page=sommaire})]</code>
En general, fins a [->3369], els urls de les pàgines generades per SPIP eren del tipus http://elmeulloc.net/xxx.php3 i no <code>http://elmeulloc.net/spip.php?page=xxx</code>.
</quote>
Heus aquí un exemple simple, però complet, d'ús d'aquestes dues etiquetes. Fa falta passar per una mica de PHP per provar la variable <code>$auteur_session</code>, que indica que un autor està identificat o no. Si aquest és el cas, es pot recuperar (veure provar) el seu estat, el seu login, etc., via <tt><code>$auteur_session['statut']</code></tt>...
Tingueu en compte que el contingut només es troba «segur» dins la plantilla. Si la vostra plantilla «imprimir aquest article», per exemple, no verifica per <tt><code>$auteur_session</code></tt>, tothom (fins i tot els motors de cerca!) podrà tenir accés a aquest famós contingut que voleu protegir.
<?php if ($auteur_session) { ?>
Esteu autenticat, cliqueu aquí per a desconnectar-vos
...aqui s’hi ha de posar el contingut d’accés restringit...
<?php } else { ?>
Aquesta part té l’accés restringit
#LOGIN_PUBLIC
<?php } ?>
```
Estils
Podeu modificar sensiblement la interfície gràfica dels formularis mitjançant els fulls d’estil. Veure: Que bonics que són els meus formularis !.