Un saludo
quisiera saber si es posible señalizar en el menu que el contenido de esa pagina ha cambiado, bien con un icono de "new" o hacer que el texto parpadee, o cualquier otra forma.
estoy usando la version 1.5.4 de cmsms, plantilla Left simple navigation + 1 column,
como señalizar nuevo contenido
Moderator: hexdj
Re: como señalizar nuevo contenido
@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
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:
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:
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:
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"
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";
}
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 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>'}
...
Ejemplo #3:
Code: Select all
<li>
{FreshContent alias=$node->alias days='5' output='NUEVA!'}
</li>
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"
Last edited by hexdj on Mon Mar 08, 2010 9:03 pm, edited 1 time in total.