Un esqueleto, varios artículos

¡Para eso sirve!

La lección precedente nos permitió extraer los datos del artículo nº 1 de la base de datos y hacer una página Web. Generalicemos...

Nuestro esqueleto es inútil si sólo sirve para que se vea el artículo nº 1. Aprendamos a colgar cualquier artículo:

Para ello vamos a llamar a nuestra página Web con una variable, de tipo id_article=2. Solicita al navegador la siguiente dirección URL:
«http://tusitio.net/spip.php?page=tutorial&id_article=2» [*]

Y ahí aparece... el artículo 1 (y no el 2). Modifiquemos en el esqueleto tutorial.html la línea que define el «bucle artículo»:
<BOUCLE_articulo(ARTICLES){id_article}>
Como verás, simplemente se reemplaza {id_article=1} por {id_article}.

Veamos: http://tusitio.net/spip.php?page=tutorial&id_article=2 ahora te devuelve el artículo 2. [1]

El BOUCLE_articulo se ejecuta en un «contexto» donde id_article es igual a 2 (el valor que se pasa en la URL). Si se le indica de manera precisa {id_article=1} buscará el artículo nº 1 pero si se le pide {id_article}, buscará el artículo cuyo número esté indicado en el contexto (aquí, la URL).

Visita ahora estas páginas:
-   http://tusitio.net/spip.php?page=tutorial&id_article=1,
-  http://tusitio.net/spip.php?page=tutorial&id_article=2 y
-  http://tusitio.net/spip.php?page=tutorial [*].

¿Ves la diferencia? Las dos primera páginas te muestran los artículos nº 1 y 2, la tercera no tiene id_article en su contexto y produce un error.

NB: No olvides recalcular la página (botón de la parte superior derecha de la página) para tener en cuenta las modificaciones en el esqueleto.

¡Bravo! Tu esqueleto ahora ya es «contextual».

Notas

[*Recordamos que con versiones anteriores a SPIP 1.9, se utiliza una URL de la forma http://tusitio.net/tutorial.php3, a la que se añade un parámetro: http://tusitio.net/tutorial.php3?id_article=2, etc.

[1¿No? Al menos, debería...

Publicado el: Actualizado: 26/10/12

Traducciones: عربي, català, corsu, Deutsch, English, Español, فارسى, français, italiano, 日本語, Nederlands, polski, Português, русский, slovenčina, svenska, Türkçe, українська