Logo de islavisual
Isotipo de islavisual IslaVisual
imagen de sección

Ultima revisión 23/11/2012

Qué es PrestaShop

Prestashop es un framework para generar y administrar tiendas on-line de manera relativamente sencilla. Seguramente, conozcáis más frameworks de éste tipo como OsCommerce, Zend Cart, Magento, etc… sin embargo, es inevitable pensar que o bien se han quedado desfasadas, o bien, no son nada sencillas de instalar y administrar (o todo lo contrario! en cuyo caso, os recomiendo que sigáis con vuestra plataforma habitual).

Está desarrollado exclusivamente con PHP 5, y es muy liviana y rápida (las plantillas smarty tienen mucho que ver en esto, sobre todo con la version 3). Los requisitos necesarios para hacerla funcionar son:

  • Servidor Linux, Unix, o Windows
  • Apache Web server 1.3 o superior
  • PHP 5.0 o superior
  • MySQL 5.0 o superior

La mayoría de los servidores dedicados incluyen estas características, en caso contrario, deberías pedirlas para que la tienda funcionara perfectamente.

Características de PrestaShop

Están descritas en el artículo Características de PrestaShop.

Funcionalidades

PrestaShop viene incluido con más de 310 funcionalidades las cuales han sido desarrolladas para asistir a los negociantes a incrementar sus ventas sin mucho esfuerzo. Las funcionalidades están integradas en el software y son 100%.

  • Gestión del catálogo
  • Visualización de Productos
  • Gestión del sitio
  • S.E.O.
  • Finalización de compra
  • Envío
  • Pagos
  • Marketing
  • Inicio de Sesión del Cliente
  • Traducciones
  • Seguridad
  • Localización/ Impuestos
  • Analísis e Informes

Documentación y Consultas


Estructura de Prestashop

En el directorio raíz hay unos cuantos archivos .php. La mayor parte de ellos lo único que hacen es "juntar" todas las piezas que nos darán una página concreta. Tomemos como ejemplo new-products.php que se ejecuta al abrir una página determinada. Si la abrimos vemos que lo que hace es llamar al archivo de configuración, al header que es la cabecera de la página y que,es a su vez, es otro archivo .php, al product-sort.php que ordena los productos, a continuación obtiene los productos con la clase correspondiente guardándolos en un array, llama al archivo .tpl de nuestro tema y finalmente incluye el footer. Normalmente no tendremos que tocar estos archivos .php a no ser que hagamos variaciones importantes en la web. Siempre que hagais modificaciones en estos archivos documentadlo bien ya que se borran al actualizar Prestashop a una nueva versión.

También veréis una serie de carpetas, algunas de ellas muy importantes:

  • admin. Aquí está el gestor de la tienda online, que una vez instalado prestashop cambiaremos de nombre por seguridad.
  • classes. Carpeta que incluye todas las clases de Prestashop (recordemos que Prestashop está programado con PHP orientado a objetos). Aquí radica el "comportamiento" de gran parte de nuestra tienda online. Si cambiamos muchas funcionalidades de la tienda, es decir, cómo se comporta ante situaciones diversas, es posible que tengamos que cambiar alguno de estos archivos. De nuevo insistir que documentéis muy bien cualquier cambio realizado aquí para no tener problemas al actualizar a nuevas versiones de Prestashop.
  • img. Aquí están las imágenes de nuestra tienda, incluyendo las fotos de los productos. Hay otras imágenes más específicas del tema que creemos (la apariencia única que le demos a nuestra tienda) que estarán en el directorio de nuestro tema (como veremos más adelante)
  • install. Esta carpeta sólo nos servirá para instalar Prestashop. Luego la borraremos.
  • js. Donde están la mayor parte de los archivos javascript, incluyendo jQuery.
  • mails. Esta carpeta es muy importante porque aquí están los correos electrónicos que mandará nuestra tienda (al cliente cuando compra o cuando se le envía su pedido, a nosotros para avisarnos de que un producto ha roto stock, etc…). Es más que probable (y hasta imprescindible, diría yo) que cambiemos la información que incluyen estos archivos para que los emails incluyan la información de nuestro negocio y una apariencia personalizada.
  • modules. Otra carpeta importante. Aquí están todos los módulos de la tienda. Si instalamos otros módulos en el futuro irán dentro de esta carpeta. Seguramente tendremos que cambiar el código de alguno de los módulos, por lo que os recuerdo de nuevo (y nunca seré lo suficientemente paliza con esto) que documentéis bien los cambios. Dentro del gestor de la tienda seleccionaremos más adelante qué modulos queremos que estén activos.
  • themes. Dentro de esta carpeta es donde más vamos a trabajar. Aquí estará nuestro tema (y cuando hablo de tema me refiero a los archivos que realmente hacen nuestra tienda diferente a los demás, "la piel" de nuestra tienda). Como veremos viene un tema por defecto que se llama prestashop, bastante feo, por cierto. Este es el que da la apariencia a la tienda online una vez instalada. Si veis su contenido veréis que está formado principalmente por archivos .tpl (que contienen una mezcla de php y html), una carpeta de imágenes (img) y otra donde están los estilos del tema (css). Si queremos crear un tema propio lo mejor es copiar esta carpeta entera y darla otro nombre distinto. Lo más normal es que cuando acabemos un tema propio todos los archivos dentro de la carpeta de nuestro tema se parezcan en poco al tema por defecto.

Prestashop utiliza Smarty

Lo veréis cuando empecéis a trastear con los archiivos .tpl de vuestro tema. Veréis que, por ejemplo, en vez de:

if($products)

pondrá:

{if $products}

Todo el lenguaje php en los archivos .tpl lo veréis incluído entre corchetes. Si queréis saber más sobre Smarty podéis leer el artículo sobre él pulsandoo en Qué es SMARTY en dónde, además, encontraréis enlaces a la documentación oficial en HTML y a un manual en PDF.

Los módulos en PrestaShop

Los módulos permiten personalizar la tienda online satisfaciendo las necesidades requeridas, ganar visibilidad, aumentar el promedio del carrito y ahorrar tiempo en la gestión de la tienda.

Además permiten optimizar el grafismo del sitio, ofrecer nuevas soluciones de pago, hacer un seguimiento de los envíos, fidelización de clientes, aumentar el tráfico (comparador de precios, redes sociales...), optimizar el posicionamiento, gestionar promociones, enviar boletines de noticias, mantener la contabilidad, obtener estadísticas detalladas y mucho más.

Instalando en local

Bueno, vamos a pasar a la acción. Vamos a ir detallando cada uno de los pasos que tenemos que dar (para ello sigo algunos de los pasos que indica la documentación de Prestashop. Si vais a hacer la instalación en un servidor remoto seguid los pasos con cuidado ya que os indica además los permisos que deben tener las carpetas una vez instaladas.

  • Crear una base de datos. Para ello abrimos el gestor de base de datos del programa que hayamos instalado a este efecto (XAMPP, MAMP, WAMP,…) que normalmente será phpMyAdmin. Aquí escribimos el nombre de la base de datos y hacemos click en el botón Crear.
  • Comprobar si está activada la librería GD. Normalmente debería estarlo. En caso contrario buscad el archivo php.ini (dentro de las carpetas de XAMPP, MAMP o WAMP) y, en su caso, borrad el punto y coma (;) que está frente a la línea extension=php_gd2.dll (más o menos está a la mitad del archivo).
  • Lanzar el archivo de instalación. Esto lo hacemos a través del navegador. Por ejemplo, si la instalación está en http://localhost/prestashop escribiríamos http://localhost/prestashop/install.

Selecciona el idioma en el que quieres efectuar la instalación, selecciona Instalación completa de Prestashop (vendrá ya seleccionado ya que no detectará que estemos actualizando), haz click donde aceptas el contrato de licencia y luego haz click en el botón Siguiente.

A continuación hacéis click en Siguiente.

Ahora tenemos que rellenar una serie de información relativa a la Base de Datos: Nombre del servidor (normalmente localhost), nombre de la Base de Datos que creamos al principio de todo, el usuario de la Base de Datos (normalmente root) y la contraseña (normalmente ninguna, a no ser que hayamos creado alguna). Hay que elegir también qué prefijo tendrán las tablas de la Base de Datos. Por defecto nos dicen ps_, aunque yo recomiendo que por seguridad escojáis cualquier otra combinación de letras y números cuando vayáis a instalar la tienda ya en su ubicación pública. Para esta instalación en local podéis dejar ps_.

A continuación hay una casilla que activaréis sólo si queréis configurar el correo como SMTP. Para esta instalación mejor no hacerlo. Seguimos adelante haciendo click en Siguiente.

Seguidamente, tendréis que escribir los datos de vuestra nueva tienda online: El nombre de la tienda, el país, subir el logo, vuestros datos, email y contraseña. Para esta instalación no es importante, pero cuando sea una instalación ya definitiva es importante que seleccionéis una buena contraseña de mínimo 8 caracteres(la recomendación es con letras y números y algún signo especial).

Con esto, ya tendremos instalada la tienda.

Tambien nos dice que, por seguridad, debemos borrar la carpeta /install y los archivos readme (readme_fr.txt, readme_en.txt, readme_es.txt) y además, que renombremos la carpeta admin y que sea una combinación de letras y números, por ejemplo isvton125 o algo similar. Para ir al administrador de la tienda en este caso la URL sería http://localhost/prestashop/isvton125.

Instalación en remoto

Si no estamos instalando Prestashop en local tendremos que tener algunas precauciones para incrementar la seguridad y el rendimiento de la tienda. Para ello os recomiendo seguir las pautas que nos da el manual de instalación de Prestashop. y proteger la carpeta de administración de la tienda con un usuario y contraseña adicional mediante .htaccess.

Sobre el autor

Imagen de Pablo Enrique Fernández Casado
Pablo Enrique Fernández Casado

CEO de IslaVisual, Manager, Full Stack Analyst Developer y formador por cuenta ajena con más de 25 años de experiencia en el campo de la programación y más de 10 en el campo del diseño, UX, usabilidad web y accesibilidad web. También es escritor y compositor de música, además de presentar múltiples soft kills como la escucha activa, el trabajo en equipo, la creatividad, la resiliencia o la capacidad de aprendizaje, entre otras.

Especializado en proveer soluciones integrales de bajo coste y actividades de consultoría de Usabilidad, Accesibilidad y Experiencia de Usuario (UX), además de ofrecer asesoramiento en SEO, optimización de sistemas y páginas web, entre otras habilidades.