Usando estas variables globales de Smarty en tu plantilla de Prestashop puedes mostrar contenido basado en cualquier condición (if).
En este articulo recogemos todas las variables de SMARTY que puedes utilizar en cualquier parte de tu plantilla para mostrar u ocultar elementos, mejorar el SEO, cambiar elementos según un idioma o pais, o cualquier otra necesidad que se pueda surgir.
Variables de información general sobre su tienda online
{$shop.name} Nombre de la tienda {$shop.email} Correo electrónico de la tienda {$shop.logo} Logotipo de la tienda {$shop.favicon} Icono de la tienda (mapa, título de la ventana del navegador, etc.) {$shop.address.address1} Dirección de la tienda 1 {$shop.address.address2} Dirección de la tienda 2 {$shop.address.postcode} Código postal de la tienda {$shop.address.city} Ciudad de la tienda {$shop.address.state} Estado de la tienda {$shop.address.country} País de la tienda {$shop.phone} Teléfono de la tienda {$shop.fax} Fax de la tienda
Variables de idioma
{$language.name} Nombre del idioma en uso (ejemplo: español) {$language.iso_code} Código ISO del idioma en uso (es para el español, it para el italiano, fr para el francés, etc.) {$language.language_code} Código del idioma en uso (en para el italiano, en-us para el inglés americano, etc.) {$language.is_rtl} (1 cuando el lenguaje se escribe de derecha a izquierda; 0 si es de izquierda a derecha) {$language.id}ID de identificación del idioma en uso
Variables de moneda
{$currency.name}Nombre de la moneda en uso (Euro, American Dollar, etc.) {$currency.iso_code} Código ISO de la moneda en uso (Eur, USD, etc.) {$currency.sign} Símbolo de la moneda en uso (euro, $, etc.) {$currency.iso_code_num} Código ISO de la moneda en uso (978 para el Euro, 840 para el Dólar Americano, etc.)
Variables de páginas y elementos de la tienda
{$urls.base_url} Dirección web de la tienda (ejemplo: https://www.kreactiva.com) {$urls.current_url} Dirección web actual (url), la página que estamos viendo {$urls.shop_domain_url} Dominio de la tienda {$urls.img_ps_url} Imagen del directorio raíz url {$urls.img_cat_url} Url del directorio de imágenes de las categorías {$urls.img_lang_url} Url del directorio de imágenes de los idiomas {$urls.img_prod_url} Url del directorio de imágenes de productos {$urls.img_manu_url} Url del directorio de imágenes de proveedores {$urls.img_sup_url} Url del directorio de imágenes de los fabricantes {$urls.img_ship_url} Url del directorio de imágenes de portadores {$urls.img_store_url} Url del directorio de imágenes de tiendas físicas {$urls.img_url} Url del directorio de imágenes temáticas {$urls.css_url} Url del directorio de archivos css usado por el tema {$urls.js_url} Url del directorio de archivos javascript usado por el tema {$urls.pic_url} Url del directorio de archivos subidos {$page.page_name} Nombre de la página (plantilla de archivo) {$page.meta.title} Título de la página (SEO) {$page.meta.description} Contenido de la descripción (SEO) {$page.meta.keywords} Etiquetar el contenido de las keywords (SEO) {$page.meta.robots} Regla para los motores de búsqueda: bloquear o no la indexación de la página (SEO) {$page.canonical} Indica el URL canónico (principal) para evitar la duplicación de contenidos (SEO) {$urls.pages.address} Url de la sección "Mi dirección" (usuario registrado) {$urls.pages.addresses} Url de la sección "Mis direcciones" (usuario registrado) {$urls.pages.authentication} Url de la página de autenticación {$urls.pages.cart} Url de la página del carro (resumen del pedido) {$urls.pages.category} Url de la categoría {$urls.pages.cms} Url de la página (tipo CMS) {$urls.pages.contact} Url de la página de contacto {$urls.pages.discount} Url de la página de vales de descuento {$urls.pages.guest_tracking} Rastreando la url para clientes no registrados {$urls.pages.history} Url de la página "Historial de pedidos" (usuario registrado) {$urls.pages.identity} Url de la página "Datos personales" (usuario registrado) {$urls.pages.index} Página de inicio url {$urls.pages.my_account} Url de la página "Mi cuenta" (usuario registrado) {$urls.pages.order_confirmation} Url de la página "Confirmación de la orden" {$urls.pages.order_follow} Url en el "Seguimiento de pedidos" (usuario registrado) {$urls.pages.order} Url de la página "Orden" {$urls.pages.order_return} Url de la página "Devolución de pedidos" {$urls.pages.order_slip} Url de la página "Hoja de pedido" {$urls.pages.pagenotfound} Url del "404 - Página no encontrada" {$urls.pages.password} Url de la página "Recuperar contraseña". {$urls.pages.pdf_invoice} Url de la factura Pdf {$urls.pages.pdf_order_return} Url de la devolución de pedidos de Pdf {$urls.pages.pdf_order_slip} Url de la hoja de pedido de Pdf {$urls.pages.prices_drop} Url de la página "Nuestras ofertas" {$urls.pages.product} Url de la página "Producto". {$urls.pages.search} Url de la página de "Búsqueda" {$urls.pages.sitemap} Url de la página "Mapa del sitio". {$urls.pages.stores} Url de la página "Tiendas/Nuestras tiendas". {$urls.pages.supplier} Url de la página "Proveedores" {$urls.pages.register} Url de la página de "Registro" {$urls.pages.order_login} Url de la página "Login" {$urls.theme_assets} Url del directorio de "activos" del tema {$urls.actions.logout} Url para desconectarse del sitio (usuario registrado)
Variables del Carrito
{$cart.totals.total.amount}El monto total del carro sin moneda (ex: 45,00) {$cart.totals.total.value} El importe total del carro con la moneda (ex: 45,00 euros) {$cart.totales.totales_incluyendo_impuestos.importe} El monto total del carro, incluyendo impuestos, sin moneda (ex: 45,00) {$cart.totales.total_incluyendo_impuestos.valor} El monto total del carro, incluyendo impuestos, con la moneda (ex: 45,00 euros) {$cart.totales.totales_excluyendo_importes.de.impuestos} El monto total del carro, sin impuestos, sin moneda (esempio: 35,70) {$cart.totales.total_excluyendo_impuestos.valor} El monto total del carro, excluyendo impuestos, con la moneda (esempio: 35,70 euros) {$cart.products_count} Número de productos en el carro {$cart.subtotales.productos.cantidad} La cantidad de productos en el carro sin moneda {$cart.subtotales.productos.valor} La cantidad de productos en el carro con moneda {$cart.subtotal.cantidad.de.envío} El importe del envío en el carro sin moneda {$cart.subtotales.valor.de.envío} La cantidad de envío en el carro con la moneda
Variables de Clientes
{$cliente.apellido} Apellido del cliente {$cliente.nombre} Nombre del cliente {$cliente.email} Correo electrónico del cliente (proporcionado durante el registro) {$customer.birthday} Cumpleaños del cliente {$customer.newsletter} Suscrito al boletín de noticias (1 si está suscrito, 0 si no lo está) {$customer.newsletter_date_add} Fecha de suscripción al boletín de noticias {$customer.ip_registration_newsletter} IP de los clientes en el registro del boletín de noticias {$cliente.optin} Suscrito a las ofertas de los socios (1 si se suscribe, 0 si se desabrocha) {$customer.date_add} Registro de clientes {$customer.date_upd} Última actualización (registro de clientes) {$customer.id} Identificación del cliente {$customer.id_default_group} Grupo de identificación al que el cliente está asociado {$customer.is_logged} Comprueba si el cliente está "conectado" (1 sí, 0 no) {$nombre.del.cliente.de.género[$cliente.de.género.id]} Género del cliente (ejemplo: Sra., Sr., etc.) {$cliente.direcciones[DirecciónID].ciudad} Cliente Ciudad de dirección con un ID (AddressID, ejemplo 8, donde 8 es el ID de la dirección del cliente), porque un cliente podría tener varias direcciones) {$dirigido.a.cliente[DirecciónID].alias} Alias de la dirección... {$cliente.direcciones[DirecciónID].nombre} Dirección Titular nombre {$cliente.direcciones[DirecciónID].apellido} Dirección Apellido del titular {$cliente.direcciones[AddressID].empresa} Dirección Empresa titular {$cliente.direcciones[DirecciónID].dirección1} Dirección Titular dirección 1 {$cliente.direcciones[DirecciónID].dirección2} Dirección Titular dirección 2 {$direcciones.de.cliente[DirecciónID].código postal} Código postal del titular de la dirección {$customer.addresses[AddressID].id_state} Dirección Estado de identificación del titular {$direcciones.de.cliente[DirecciónID].estado} Dirección Nombre del estado del titular {$customer.addresses[AddressID].state_iso} Address Holder state ISO code {$customer.addresses[AddressID].id_country} Dirección Titular ID país {$cliente.direcciones[AddressID].país} Dirección Nombre del país del titular {$customer.addresses[AddressID].country_iso} Dirección Titular ISO país {$cliente.direcciones[AddressID].teléfono} Dirección Teléfono del titular {$customer.addresses[AddressID].phone_mobile} Dirección Teléfono móvil del titular {$cliente.direcciones[AddressID].dni} Dirección Titular DNI {$customer.addresses[AddressID].vat_number} Dirección Titular número de IVA {$direcciones.de.cliente[AddressID].formateadas} Dirección Dirección formateada del titular
Prestashop 1.7: ejemplos de uso de las condiciones
Ahora, con las variables inteligentes utilizadas por Prestashop, puedes mostrar un elemento o no fácilmente.
Como mostrar un elemento si la página que estás viendo es la página de inicio
{if $page.page_name == 'index'} contenido a mostrar {/if}
Mostrar un elemento si la página que estás viendo es una página de contenido (CMS)
{if $page.page_name == 'cms'} contenido a mostrar {/if}
Mostrar un artículo si la página que estás viendo es la página del carrito
{if $page.page_name == 'cart'} contenido a mostrar {/if}
Mostrar un elemento si el usuario está conectado (login)
{if $customer.is_logged} contenido a mostrar {/if}
Mostrar un mensaje de bienvenida traducible y el nombre si el usuario se ha conectado
{if $customer.is_logged && $customer.firstname} {l s='Hi' d='Shop.Theme.Global'} {$customer.firstname} {/if}
Mostrar un mensaje traducible dependiendo de si el usuario está registrado o no en el Boletín de Noticias
{if $customer.newsletter == 0} {l s='Sign up to our newsletter!' d='Shop.Theme.Customeraccount'} {else} {l s='Ya está suscrito a nuestro boletín de noticias' d='Shop.Theme.Customeraccount'} {/if}
Esperamos que esta información haya sido útil y ya puedas mostrar variables globales Smarty en tu plantilla o theme Prestashop 1.7.
Esperamos tus comentarios y no olvides compartir el articulo en tus redes sociales.