Ultima revisión 29/03/2013
Trucos y cosas que deberías saber sobre PrestaShop
PrestaShop es el software más utilizado en España para montar tiendas online y por ello me preguntan mucho a diario sobre él. Aquí os doy algunos consejos que debéis conocer para que vuestro trabajo con esta herramienta sea más fácil.
Saber en la página en la que estás
En las plantillas de smarty existe una variable de acceso global denominada $page_name que podemos utilizar para conocer en qué ventana nos encontramos.
{if $page_name == 'index'}
<div class="index">
{else}
<div class="secundaria">
{/if}
Variables útiles que siempre tienes que tener a mano
- $base_dir { Directorio raíz de la tienda }
- $base_dir_ssl { Directorio raiz utilizando el protocolo SSL }
- $content_dir { La carpeta de los contenidos }
- $img_ps_dir { La carpeta donde van las imagenes usualmente “/img/” }
- $img_dir { Carpeta de imágenes pero a diferencia del anterior se refiere a la carpeta en la plantilla }
- $css_dir { Carpeta de la plantilla donde van los archivos CSS }
- $js_dir { Carpeta de la plantilla donde va el javascript }
- $tpl_dir { La carpeta donde esta nuestra plantilla }
- $modules_dir { La carpeta donde van los módulos }
- $mail_dir { La carpeta donde están las plantillas de los correos }
- $lang_iso { Código ISO del idioma }
- $come_from { ruta absoluta previa [absolute] }
- $shop_name { Nombre de la tienda }
- $cart_qties { Número total de productos }
- $cart { Contenidos del carrito }
- $currencies { Monedas disponibles }
- $id_currency_cookie { Id de la moneda activa }
- $currency { moneda activa }
- $cookie { cookie activa }
- $languages { muestra los lenguajes disponibles }
- $logged { Reviza si el usuario esta logeado }
- $page_name { Titulo de la página actual }
- $customerName { Nombre del cliente [depende de la sesión] }
- $priceDisplay { Configuración para mostrar el precio [depende la moneda] }
Las provincias de España
Código SQL para que añadais automáticamente todas las provincias de España en PrestaShop. En el código siguiente suponemos que España tiene el country_id = 6 y que la zona asignada a este country_id es Europa que tiene el zone_id = 1. Comprobarlo antes de ejecutar las instrucciones SQL.
También suponemos que las Islas Canarias y las Baleares están asignadas a la zona de Europa aunque en otras páginas podéis encontrarlas asignadas a otras zonas personalizadas.
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Álava", "ALA", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Albacete", "ALB", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Alicante", "ALC", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Almería", "ALM", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Asturias", "AST", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Ávila", "AVL", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Badajoz", "BDJ", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Islas Baleares", "BLS", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Barcelona", "BCN", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Burgos", "BUG", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Cáceres", "CCR", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Cádiz", "CAD", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Cantabria", "CNT", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Castellón", "CST", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Ceuta", "CET", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Ciudad Real", "CRE", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Córdoba", "COR", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Cuenca", "CUE", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Gerona", "GIR", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Granada", "GRA", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Guadalajara", "GUA", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Guipúzcoa", "GIZ", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Huelva", "HUV", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Huesca", "HUS", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Jaén", "JAN", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "La Coruña", "COR", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "La Rioja", "LRJ", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Las Palmas", "LPS", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "León", "LEO", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Lérida", "LER", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Lugo", "LUG", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Madrid", "MAD", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Málaga", "MAG", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Melilla", "MEL", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Murcia", "MUR", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Navarra", "NAV", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Orense", "ORE", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Palencia", "ESP", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Pontevedra", "PNT", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Salamanca", "SAL", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Santa Cruz de Tenerife", "STF", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Segovia", "SGV", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Sevilla", "SEV", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Soria", "SOR", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Tarragona", "TAR", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Teruel", "TER", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Toledo", "TOL", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Valencia", "VLN", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Valladolid", "VAL", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Vizcaya", "VIZ", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Zamora", "ZAM", 0, 1);
INSERT INTO ps_state (id_country, id_zone, name, iso_code, tax_behavior, active) VALUES (6, 1, "Zaragoza", "ZAG", 0, 1);
¿Cómo linkar páginas estáticas del CMS?
Se pueden enlazar páginas estáticas forma fácil:
{$link->getCMSLink($id_cms, $alias = NULL)}
O hacia categorías
{$link->getCategoryLink($id_category, $alias = NULL)}
Desactivar caché y forzar compilación (Panel de control)
Cuando nos ponemos a desarrollar bajo PrestaShop es recomendable desactivar el caché y forzar la compilación para que los cambios se realicen correctamente. Estas opciones harán que el sistema vaya más lento ya que cada vez que actualicemos PrestaShop tendrá que recompilar el theme desde cero. Pero, nos aseguraremos de que, en todo momento, estemos viendo la última versión del código.
Para hacer esto simplemente vamos a: Preferencias » Rendimiento
Revisar la traducción
Desde el BackEnd de PrestaShop, si pulsáis en en los iconos de las banderas podréis acceder a las traducciones y revisarlas porque en ellas podemos encontrar errores graves de traducción.