Ayuda para el desarrollo de los templates de las páginas.
Para ver la sintaxis del procesador de templates:
classes/directemplate-1.1.10/README
Los templates están configurados de la siguiente manera:
Existe una página común (Home.html) que tiene el esqueleto
de las páginas del sitio.
Dentro de esta página, hay dos marcas
{$body} : donde van a aparecer los datos
{$pd.bodybottom} : donde aparece algo mas, como
los índices de página.
A los templates le llegan tres arrays
1- sd (site data): tiene todas las variables de configuración
del sitio ($SideData de config/ArticlesConfig.php)
2- pd (page data): tiene información específica de la página
3- data : dependiendo de la página, puede ser un array o un
array de arrays dependiendo si se va a mostrar un
dato (ej: ver un artículo) o un conjunto de datos
(ej: la lista de sumarios de los artículos)
General:
Ejemplo 1:
En la página comun (Home.html) podemos encontrar
{$sd.Name}{if $pd.subtitle} - {$pd.subtitle}{/if}
esto quiere decir:
- se pone el nombre obtenido de $SideData['Name'] ({$sd.Name})
- si existe $pd.subtitle (el subtitulo de page data, ej. el
título del artículo al ver el mismo) se agrega " - {$pd.subtitle}"
Ejemplo 2: en la misma página
- si existe el sumario ({if $pd.summary}) de pagedata se pone como
descripción el sumario, si no ({else}) se pone la descripción del
sitio ({$sd.Description}).
(ej: al ver un artículo, $pd.summary tiene el sumario del artículo).
Ejemplo 3: data posee un solo dato
es el caso en que se muestra un artículo, data tendrá entre otras cosas
{$data.body} : el body del artículo
{$data.header.author} : el autor del artículo
Ejemplo 4: data tiene multiples datos
es el caso en que se debe mostrar una lista, ej: lista de artículos
{loop $summary=$data} : loopea hasta {/loop} asignando a summary
cada uno de los datos de data
y dentro del loop
{$summary.summary} : sumario del artículo
{$summary.author} : autor del artículo
Datos que llegan a las páginas:
1- Lista de categorías (Categories.html)
sd : siempre igual -> $SiTeData del config
pd : nada (por ahora)
data : lista de las categorías
cada una: name : nombre de la categoría
description : descripción de la categoría
tags : tags de la categoría
2- Lista de artículos (Summaries.html)
sd : siempre igual -> $SiTeData del config
pd : {$pd.cattitle} : si viene viendo una categoría, el titulo
de la categoría
{$pd.bodybottom} : los indices de las páginas
data : lista de los artículos
cada uno: id : id del art
url : url del artículo
subject : el subject del art
summary : sumario del art
categories : las categorías donde está el artículo
keywords : las keywords del art
author : el nombre del autor
authorlink : link a la lista de artículos del autor
3- Vista del artículo
sd : siempre igual -> $SiTeData del config
pd : {$pd.cattitle} : si viene viendo una categoría, el titulo
de la categoría
{$pd.bodybottom} : ""
{$pd.subtitle} : el subject del art
{$pd.keywords} : las keywords del art
{$pd.summary} : el summary del art
data :
{$data.header.subject} : titulo del art
{$data.header.date} : fecha del art
{$data.header.author} : autor
{$data.header.summary} : sumario
{$data.header.id} : id
{$data.header.keywords} : keywords del art (de la forma "key:%,key2:%....")
{$data.header.categories} : catogorias donde esta el articulo
{$data.body} : cuerpo del arti
{$data.resources} : resources
{$data.authorlink} : link a los articulos del autor
{$data.url} : url del articulo
{$data.bookmarks} : son las keys de la forma "key1,key2..."
{$data.keywordscloud} : la nube con los links
{$data.newLink} : link a agregar articulo