Etiquetas definidas por el usuario para las noticias

Como ya hemos mencionado previamente, CMSMS te permite personalizar el contenido de tus plantillas mediante el uso de etiquetas. Además de las que incluye CMSMS de fábrica, tú mismo puedes añadir las que te sean útiles. A este tipo de etiquetas CMSMS les llama etiquetas definidas por el usuario (Extensiones -> Tags personalizados).

Las noticias tienen sus propias plantillas asociadas, la de sumario y la de detalle, y dentro de ellas también puedes incorporar etiquetas.

Paginación

Si hay muchas noticias lo más cómodo es mostrarlas en grupos (de 10 en 10, por ejemplo), y añadir unos enlaces al final de cada grupo que te permitan ir al grupo siguiente. El ejemplo que proponemos a continuación hará exactamente eso, te permitirá mostrar las noticias agrupadas, y al final de cada grupo habrá un enlace para ir al grupo siguiente. Es un poco básico porque sigue apareciendo el letrero de navegación incluso cuando no quedan más noticias que ver, y no muestra URLs bonitas con mod_rewrite, pero es sólo un ejemplo.

Estos son los pasos a seguir:

1. Crear la tag personalizada

Dirígete a Extensiones -> Tags personalizados y pulsa Añadir Tag personalizada. En la casilla de nombre escribe newsindex, y en la casilla de código teclea lo siguiente:

global $gCms;

$start = ($_REQUEST['start']) ? $_REQUEST['start'] : $params['start'];
$number = ($_REQUEST['number']) ? $_REQUEST['number'] : $params['number'];

$next_uri = 'index.php?page=' . $gCms->variables['page_name'] . '&start=' . ($start + $number) . '&number=' . $number;

$smarty->assign('news_start', $start);
$smarty->assign('news_number', $number);
$smarty->assign('news_next_url', $next_uri);

Esta etiqueta define tres variables smarty (variables a las que puedes acceder desde tu página) y toma los parámetros start y number de la URL que se solicita, o en su defecto de los parámetros que se le pasan a la etiqueta.

2. Crear la página de noticias

Crea una página de tipo contenido (ojo, no crees una página de tipo noticias) y teclea lo siguiente en su contenido:

{newsindex number='5' start='0'}
{cms_module module='news' number=$news_number start=$news_start}
<a href="{$news_next_url}">Artículos anteriores</a>

La primera línea le pasa a la etiqueta los valores mencionados anteriormente. El primero, number, es el número de noticias que quieres que aparezca en cada página (el tamaño de cada grupo). El segundo, start, es el número de la primera noticia que quieres que aparezca (pon 0 para empezar desde la primera).

A partir de esos parámetros la etiqueta construye la URL del siguiente grupo de noticias, introduciéndola en la variable news_next_url, que posteriormente asigna a news_next_url. La tercera línea del código anteior muestra un enlace a esa URL llamando a la variable $news_next_url.

La segundo línea del código muestra el grupo de noticias seleccionado, comenzando desde $news_start. Ese valor lo va actualizando la etiqueta, sumándole $number cada vez que se pulsa sobre el enlace del grupo siguiente.



This page in: English - Deutsch - Español - Français - Italiano - Lietuvių - Nederlands - Norsk - Polski - Česky - Русский - Svenska - Tiếng Việt - عربي - 日本語 简体中文

User Handbook/Admin Panel/Content/News/User Defined Tags/es

From CMSMS

Arvixe - A CMSMS Partner