Verificar si un usuario esta logueado en Prestashop
La verificar de un usuario esté logueado en Prestashop es muy sencillo si estás usando el CMS Prestashop. En le presente artículo validaremos si un cliente ha iniciado sesión, en una plantilla de Smarty .tpl de Prestashop. Con esta estructura de control podremos mostrar diferentes elementos al cliente dependiendo de su estado actual.
Verificar si un usuario esta logueado en Prestashop
En Prestashop 1.7 ya no carga $logged
, necesitas usar $customer.is_logged
. Por lo tanto, usando una condicional podemos mostrar información extra a un cliente logueado y otra información a los visitantes. Veamos un ejemplo completo.
{if $customer.is_logged == 1}
//Cliente ha iniciado sesion
{/if}
{if $customer.is_logged == 0}
//Visitante en la web Prestashop
{/if}
En versiones anteriores de 1.7
Ahora, si estas usando versiones anteriores de Prestashop puedes usar estas líneas de código para detectar el inicio de sesión de nuestros clientes.
{if $logged}
Logueado
{else}
No Logueado
{/if}
¿Cómo comprobar si el cliente ha iniciado sesión o no en Prestashop 1.7?
En este segundo ejemplo vamos a explicar cómo comprobar si el cliente está logueado o no en CMS Prestashop 1.7.x.
a) Usando módulo interno o archivo de controlador (PHP)
Si estamos creando o modificando un módulo en Prestashop y deseamos detectar si el cliente ha iniciado sesión, podemos usar el siguiente script para detectarlo usando una condicional PHP.
if ($this->context->customer->isLogged()) {
echo "Cliente ha iniciado sesion";
} else {
echo "Solo visible para visitantes";
}
b) Archivo de plantilla interior (tpl)
De igual manera si estamos creando módulos y deseamos saber si el cliente ha iniciado sesión para mostrarle un descuento o mostrar alguna descarga por ser usuario registrado, podemos usar las siguientes líneas de código en el fichero TPL.
{if $customer.is_logged}
{l s='Logged In' mod=''}
{else}
{l s='Not Logged In' mod=''}
{/if}
Conclusiones y recomendaciones
En este articulo hemos aprendido a detectar y saber si un visitante ha iniciado sesión o no usando ficheros PHP o ficheros TPL de una manera muy sencilla.
Además, hemos visto ejemplos para detectar login en versiones de Prestashop superiores a 1.7 o inferiores a Prestashop 1.7.
Estas opciones se usan para mostrar algo extra a los clientes como ser: Descuentos, promociones, precios, mostrar descargas, etc.
Espero que esta explicación ayude en sus proyectos en Prestashop.