Este es un método sencillo para mostrar y ocultar elementos según el momento actual en Smarty, como por ejemplo poner un banner de rebajas y hacer que desaparezca al finalizar las mismas.
Simplemente, se utiliza como referencia un timestamp, y comprobando si el timestamp actual es mayor o menor al definido, se cumplirá la condición que hayamos utilizado según nuestras preferencias.
Mostrar y ocultar elementos a partir de un momento determinado en Smarty
{* Timestamp simbolizando el momento del cambio *}
{assign var="change_moment" value=1645920000}
{* Antes de que sé del momento, después se ocultara *}
{if $smarty.now < $change_moment}
{*Lo que se muestra actualmente*}
{/if}
{* Después de que sé del momento, lo que se mostrara *}
{if $smarty.now > $change_moment}
{*Lo que se mostrara después del timestamp indicado*}
{/if}
Mostrar y ocultar elementos durante un intervalo determinado en Smarty
{assign var="moment_start" value=1648771200} {* Timestamp simbolizando el comienzo del cambio *}
{assign var="moment_end" value=1649030399} {* Timestamp simbolizando el final del cambio *}
{* Acciona cuando el timestamp es mayor que $moment_start e inferior a $moment_end *}
{if $smarty.now > $moment_start and $smarty.now < $moment_end}
{*Lo que se muestra durante el intervalo*}
{else}
{*Lo que se muestra antes y después del intervalo*}
{/if}
Si te ha sido de utilidad ¡deja un comentario!