O nosso template é bastante inútil se servir apenas para exibir a matéria nº 1. Vamos ensiná-lo a exibir qualquer matéria:
Para isso, vamos chamar a nossa página web com um parâmetro, do tipo id_article=2
: aponte o seu navegador para o URL a seguir
«http://seusitio.net/spip.php?page=tutorial&id_article=2
».
Aparece... de novo a matéria 1 (e não a 2). Modifiquemos no template tutorial.html
a linha que define o «loop materia»:<BOUCLE_materia(ARTICLES){id_article}>
(Como pode ver, substitui-se simplesmente {id_article=1}
por {id_article}
, sem mais.)
E pronto: http://seusitio.net/spip.php?page=tutorial&id_article=2
dá-lhe agora a matéria 2. [1]
O BOUCLE_materia
é executado num «contexto» em que id_article
é igual a 2 (é o valor que foi transmitido no URL). Se especificarmos {id_article=1}
ele vai buscar a matéria nº 1, mas se lhe pedirmos apenas {id_article}
, ele vai buscar a matéria cujo número for indicado pelo contexto (aqui, o URL).
Visite agora estas páginas:
- http://seusite.net/spip.php?page=tutorial&id_article=1
,
- http://seusite.net/spip.php?page=tutorial&id_article=2
e
- http://seusite.net/spip.php?page=tutorial
[*].
Vê a diferença? As duas primeiras páginas dão-lhe as matérias nº 1 e nº 2, a terceira não tem id_article
no seu contexto, e gera um erro.
Bravo! Agora, o seu template é «contextual».