@ant666
Buena pregunta, he creado una UDT (Tag personalizada) que se puede usar para saber si una pagina es nueva (basados en la ultima fecha de modificación de esta)
Este es el código de mi UDT, a la que he llamado
FreshContent
Code: Select all
global $gCms;
$db =& $gCms->GetDb();
$the_alias = isset($params['alias']) ? $params['alias'] : "";
$the_days = isset($params['days']) ? $params['days'] : "";
$the_output = isset($params['output']) ? $params['output'] : "";
$query = "SELECT modified_date FROM ".cms_db_prefix()."content WHERE content_alias=?";
$row = $db->GetRow($query, array($the_alias));
if($row)
{
$last_mod = strtotime($row['modified_date']);
$today = time();
$date_diff = floor(($today - $last_mod)/86400);
if ($date_diff < $the_days)
{
return $the_output;
}
}
else
{
return "No se encontró dicha pagina de contenido, revisar el <em>alias</em> de la pagina";
}
Parametros:
alias = el alias de la pagina en cuestión, a la que chequeamos si tiene contenido nuevo (basados en la fecha de modificación)
days = el numero de dias maximo en el que una pagina se considera "Nueva"
output = lo que se desea desplegar, si dicha pagina es considerada "Nueva"
Ejemplo:
Code: Select all
{FreshContent alias='home' days='14' output='<img src="new.gif" />'}
El ejemplo anterior verifica si la pagina que tiene el alias 'home' ha sido modificada en los ultimos 14 dias y si es asi despliega una imagen (ver html) llamada new.gif
El output puede ser cualquier codigo HTML que se desee, por ejemplo output="NUEVO!" desplegara un párrafo que dice NUEVO! si la pagina es considerada "Nueva"
Ejemplo #2:
Code: Select all
</__body>
{FreshContent alias=$page_alias days='8' output='<div class="notice">Esta pagina es nueva!</div>'}
...
Si se usa este codigo en una de las plantillas de paginas, se desplegara el div dado si la pagina tiene un maximo de 8 dias de antiguedad.
Ejemplo #3:
Code: Select all
<li>
{FreshContent alias=$node->alias days='5' output='NUEVA!'}
</li>
Este codigo se puede usar en el administrador de menus, y si se agrega en el lugar adecuad, mostrará la palabra "NUEVA!" junto al item del menu que tenga un maximo de 5 dias de antiguedad.
Otros Usos
Este UDT puede ser util en las plantillas de Menu Manager (ver Ejemplo 3), si se desea mostrar un icono (por ejemplo) junto a los enlaces del Menu para paginas que son consideradas "Nuevas"