📊 Variables Smarty globales en PrestaShop

Actualizado: 2024-12-01

PrestaShop asigna automaticamente un conjunto de variables globales a todas las paginas del front office. Estas variables estan disponibles en cualquier template .tpl sin necesidad de asignarlas manualmente. Adicionalmente, cada controlador asigna variables especificas de la pagina.

#$cart — Carrito

Variables del carrito
smarty
{* Numero de productos en el carrito *}
{$cart.products_count}

{* Total del carrito *}
{$cart.totals.total.amount}         {* Numerico *}
{$cart.totals.total.value}          {* Formateado con simbolo de moneda *}

{* Subtotales *}
{$cart.totals.total_excluding_tax.value}
{$cart.totals.total_including_tax.value}
{$cart.totals.total_shipping.value}
{$cart.totals.total_discounts.value}

{* Lista de productos *}
{foreach $cart.products as $cartProduct}
  {$cartProduct.name}
  {$cartProduct.quantity}
  {$cartProduct.price}              {* Precio formateado *}
  {$cartProduct.id_product}
  {$cartProduct.id_product_attribute}
  {$cartProduct.cover.bySize.cart_default.url}  {* Imagen *}
{/foreach}

#$currency — Moneda

Variables de la moneda activa
smarty
{$currency.id}                    {* ID de la moneda *}
{$currency.name}                  {* Nombre: 'Euro' *}
{$currency.iso_code}              {* Codigo ISO: 'EUR' *}
{$currency.sign}                  {* Simbolo: '€' *}
{$currency.conversion_rate}       {* Tasa de conversion *}
{$currency.format}                {* Formato: '2' *}
{$currency.decimals}              {* Decimales *}

#$customer — Cliente

Variables del cliente logueado
smarty
{* Ver si el cliente esta logueado *}
{if $customer.is_logged}
  Bienvenido, {$customer.firstname} {$customer.lastname}
{else}
  <a href="{url entity='authentication'}">Iniciar sesion</a>
{/if}

{* Datos del cliente *}
{$customer.id}                   {* ID *}
{$customer.email}                {* Email *}
{$customer.firstname}            {* Nombre *}
{$customer.lastname}             {* Apellido *}
{$customer.birthday}             {* Fecha de nacimiento *}
{$customer.newsletter}           {* Suscrito al boletin *}
{$customer.is_guest}             {* Es invitado *}
{$customer.groups}               {* Array de grupos *}

#$language — Idioma

Variables del idioma activo
smarty
{$language.id}                   {* ID del idioma *}
{$language.name}                 {* Nombre: 'Espanol' *}
{$language.iso_code}             {* Codigo: 'es' *}
{$language.locale}               {* Locale: 'es-ES' *}
{$language.language_code}        {* Para el atributo lang HTML *}
{$language.is_rtl}               {* ¿Es RTL (arabe, hebreo)? *}

#$shop — Tienda

Variables de la tienda
smarty
{$shop.name}                     {* Nombre de la tienda *}
{$shop.email}                    {* Email de contacto *}
{$shop.logo}                     {* URL del logo *}
{$shop.favicon}                  {* URL del favicon *}
{$shop.address.address1}         {* Calle *}
{$shop.address.city}             {* Ciudad *}
{$shop.address.country}          {* Pais *}
{$shop.phone}                    {* Telefono *}

#$page — Pagina actual

Metadatos de la pagina actual
smarty
{$page.page_name}                {* Nombre interno: 'product', 'category', 'index' *}
{$page.title}                    {* Titulo SEO de la pagina *}
{$page.meta.description}         {* Meta description *}
{$page.meta.keywords}            {* Meta keywords *}
{$page.meta.robots}              {* Directivas robots *}
{$page.canonical}                {* URL canonical *}

{* Detectar tipo de pagina *}
{if $page.page_name == 'product'}
  {* Estamos en una ficha de producto *}
{/if}

#$urls — URLs del sistema

URLs globales del sistema
smarty
{$urls.base_url}                 {* URL base de la tienda *}
{$urls.current_url}              {* URL de la pagina actual *}
{$urls.shop_domain_url}          {* Dominio con protocolo *}

{* URLs de directorios *}
{$urls.img_ps_url}               {* /img/ de PrestaShop *}
{$urls.img_cat_url}              {* /img/c/ categorias *}
{$urls.img_prod_url}             {* /img/p/ productos *}
{$urls.img_manu_url}             {* /img/m/ marcas *}
{$urls.img_sup_url}              {* /img/su/ proveedores *}
{$urls.theme_assets}             {* /themes/mytheme/assets/ *}

{* Paginas del sistema *}
{$urls.pages.cart}               {* URL del carrito *}
{$urls.pages.order}              {* URL de pedidos *}
{$urls.pages.my_account}         {* URL de mi cuenta *}
{$urls.pages.authentication}     {* URL de login *}
{$urls.pages.contact}            {* URL de contacto *}
{$urls.pages.sitemap}            {* URL del sitemap *}

#$configuration — Configuracion

Acceso a la configuracion de PrestaShop
smarty
{* Configuraciones disponibles en templates *}
{$configuration.display_taxes_label}
{$configuration.taxes_enabled}
{$configuration.low_quantity_threshold}
{$configuration.is_b2b_enabled}
{$configuration.quick_view}
{$configuration.new_products_nb}
{$configuration.comparison_enabled}

#Variables especificas por pagina

PaginaTemplateVariables clave
Productocatalog/product.tpl$product, $product_cover, $product_images, $accessories, $product_features
Categoriacatalog/category.tpl$category, $listing, $products, $facets, $sort_orders
Carritocheckout/cart.tpl$cart, $hook_shopping_cart, $vouchers
Checkoutcheckout/checkout.tpl$checkout_process, $steps, $delivery_options
Confirmacioncheckout/order-confirmation.tpl$order, $order_details, $products, $customer
Mi cuentacustomer/my-account.tpl$customer, $orders, $vouchers, $addresses
Busquedacatalog/search.tpl$listing, $search_string, $products, $facets
CMScms/page.tpl$cms, $breadcrumb
Homepageindex.tpl$hook_home, $hook_home_tab, $hook_left_column
Descargar en Markdown Pensado para pegar en ChatGPT, Claude u otra IA. Incluye solo el contenido de esta pagina.