Baliza #SESSION

Attention, page complètement obsolète, qui devrait être dépubliée : liens brisés, etc.

La baliza #SESSION funciona como #CONFIG excepto que esta se basa en la tabla asociativa $auteur_session. El parámetro pasado como argumento determina el valor de sesión que debe utilizarse. Para tener una lista exhaustiva de los valores posibles, consulta la documentación de la de la función ajouter_session

Las versiones de SPIP posteriores al 25-08-2007 (1.93dev) ya incorporan esta baliza en el núcleo del programa, y no necesita ser instalado.

Instalación

plugin balise_session
Téléchargez, dézippez dans le répertoire plugins/ de votre site et activez le plugin Balise Session

-* Descargar el archivo adjunto

  • Descomprimirlo dentro del directorio répertoire plugins/ de tu sitio,
  • Dentro de la página de gestión de plugins, activar el plugin Balise Session.

Podrás acceder a esta misma documentación desde tu propio sitio (spip.php?page=session) a través de ejemplos interactivos.

Principio

Para reconocer un visitante autentificado, hay que apoyarse en el registros de sesión de SPIP. No obstante, como este valor se muestra desde un esqueleto, se debe también tener en cuenta el sistema de caché e impedir que los datos de un visitante sean utilizados por los siguientes durante el tiempo de vida de la página.

Dos medios pueden emplearse :

  • Definir una duración de caché igual a 0 para cada página donde se mostrará o consultará el contenido de la baliza #SESSION. Es una mala idea en cuanto a resultado global para el sitio
  • Crear una página de caché de cada página para cada visitante autentificado. Así pues, el visitante accede a páginas distintas calculadas más a menudo. Es el principio elegido en esta página.

Se introduce pues, además de la baliza, el script session.php, consultable a través de <INCLURE()>. Este script es una copia del script estándar de spip (spip.php), sólo que define un parametro de esqueleto basado en el identificador del visitante, si este está definido.

Llamada específica de las avellanas

Se recurrirá a la baliza #SESSION en esqueletos incluidos (que se llaman también avellanas…)

<INCLURE(session.php){fond=page_speciale}>

dónde page_speciale.html contendrá contenido restringido como se muestra en alguno de los ejemplos del plugin, o sus combinaciones, o, por supuesto, ¡su propia creación ! : D

Gestión de valores suplementarios

Es posible administrar valores suplementarios a las contenidas en el arreglo $auteur_session. Para eso, es necesario añadir el parámetro {session} a la llamada de esqueletos incluidos. Por lo tanto, la baliza #SESSION se apoyará también en el arreglo $_SESSION php normal (véase el soporte de sesiones de PHP).

Ejemplo : <INCLURE(session.php){session}{fond=esqueleto_sesion}>

Este plugin introduce para estos valores, una acción permitiendo crear/afectar a un parámetro precisándole un nombre, o vaciar su valor. Para recurrir a esta acción, deberás utilizar un formulario ad hoc, o, en este tipo preciso de avellanas, la baliza #URL_ACTION_AUTEUR de la siguiente manera :

<a href="[(#URL_ACTION_AUTEUR{session,[(#ENV{session})]-affecter-nombre-valor,url})]">
texto del link
</a>

donde

  • nombre será el código que se empleará al restituir el valor via la notación #SESSION{nom},
  • valor podrá ser un variable de SPIP o una constante
  • url, la dirección de destino real del vínculo : #SELF o cualquiera imaginable.

o bien, para vaciar el contenido del parámetro

<a href="[(#URL_ACTION_AUTEUR{session,[(#ENV{session})]-vider-nombre,url})]">
texto del link
</a>

Demostración

spip-zone.info