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! 🙂