• twitter image
  • facebook image
  • youtube image
  • linkedin image
Language: CMS Made Simple Czech CMS Made Simple France CMS Made Simple Spain CMS Made Simple Hungary CMS Made Simple Russia CMS Made Simple Netherlands

All times are UTC




Post new topic Reply to topic  [ 2 posts ] 
Author Message
 Post subject: como señalizar nuevo contenido
PostPosted: Mon Feb 15, 2010 11:52 pm 
Offline
New Member

Joined: Mon Jul 20, 2009 4:24 pm
Posts: 3
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,


Top
 Profile  
 
 Post subject: Re: como señalizar nuevo contenido
PostPosted: Thu Mar 04, 2010 5:58 am 
Offline
Power Poster
Power Poster
User avatar

Joined: Sat Mar 24, 2007 8:28 am
Posts: 385
Location: Long Beach, CA
@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:
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:
{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:
<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:
<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"


Last edited by hexdj on Mon Mar 08, 2010 9:03 pm, edited 1 time in total.

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Arvixe - A CMSMS Partner