#SESSION_SET

Permite inserir dados suplementares na tag #SESSION

  • Apparu en : SPIP 2.0

#SESSION_SET é usado como #SESSION_SET{variável, valor}, com o valor sendo inserido na matriz PHP no formato $GLOBALS['visiteur_session']['variável'] = 'valor';

A informação pode ser lida de novo via #SESSION{variável}

Esta tag permite assim, incluir qualquer dado à sessão aberta no momento em que o visitante acessa o SPIP. Ela pode ser usada sem moderação para conservar os elementos de que queremos dispor no decorrer da sessão aberta, sem necessidade de refazer um loop ou outra manipulação.

A sintaxe

A sintaxe básica é muito simples:
#SESSION_SET{variável,valor}
O elemento ’variável’ é qualquer nome que permita que se faça referência ao que se quer usar, e ’valor’ é o seu conteúdo. Mas um exemplo é melhor que um longo discurso.

Por exemplo, eu sou apaixonado por elefantes, e eu quero demonstrá-lo a todo o momento... Assim::
#SESSION_SET{minhapaixao,elefantes} atribuirá ’elefantes’ a ’minhapaixao’.

Para usar, é muito simples: #SESSION{minhapaixao} exibirá ’elefantes’.

Utilização prática

Você viu acima um exemplo não muito concreto. O uso da tag #SESSION_SET{variável,valor}é particularmente pertinente quando o acesso ao site é feito com identificação (do tipo ’login público’) para incluir certos dados ligados, de um modo ou outro, à sessão da pessoa logada.

Se você exibir a tag #SESSION numa página, verá que ela contém um grande número de dados, notadamente relacionados ao autor ou visitante identificado. A exibição de um desses dados faz-se diretamente via #SESSION, salvo se você incluiu campos extras.

Em #SESSION{extra}, verá ser exibido, em formato texto, o conteúdo desse campo, sob a forma (por ex.)

a:2{s:10:"id_salario";s;1:"1";s:7:"escola";s:5:"Quadro";}.

Isso permite-lhe verificar se ela dispões do que você procura, mas a exibição deixa a desejar...
 [1]

O que fazer para remediar isso? Usar #SESSION_SET, claro, com a tag #EXTRA!!

Eu quero exibir a escola :

Num loop AUTEURS, eu voui incluir na minha sessão a escola da pessoa identificada:

<BOUCLE_autor(AUTEURS){id_auteur=#SESSION{id_auteur}}{tout}>#SESSION_SET{escola,(#EXTRA|escola)}
</BOUCLE_autor>

E pronto! Agora, não importa em que página do site, você pode exibir a escola:

[(#SESSION{escola})]

Você pode usá-la isoladamente, ou num loop, seja para exibir a escola, seja num critério específico, por ex.

<BOUCLE_materias(ARTICLES) {id_rubrique}{titre_mot = #SESSION{escola}} {par num titre, date} {doublons} {pagination 20}>

Ir mais longe?

O SPIP permite abrir conexões a bases de dados externas às do SPIP, mesmo que remotas... Nada mais simples, agora, do que incluir um ou mais dados recuperados dessas bases à sessão corrente... Um (ou mais) loops ao abrir, alguns #SESSION_SET{variável,valor}, e terei à minha disposição, rapidamente, tudo o que preciso para dinamizar o meu site...

Ver também

Notas

[1lembrete: para exibir em modo bruto (para verificação) o conteúdo detalhado da tag, é possível usar a notação:
[<pre>(#SESSION*|unserialize|var_export{1})</pre>]

Autor Ricardo Porto Publié le :

Traductions : català, English, français, Nederlands, Português