martes, 28 de enero de 2014

Prestashop: ampliar el marco central

Continuando con la serie de tutoriales de Prestashop vamos a incluir unas sencillas indicaciones para poder controlar la maquetación de nuestra página de una forma rápida y sencilla. Controlaremos la visibilidad de las columnas laterales con la posibilidad de ampliar el marco central a su costa.

Para ello es muy sencillo, tendremos que editar varios archivos de la plantilla que utilicemos. En el ejemplo vamos a utilizar la plantilla por defecto (default) de Prestashop.

En primer lugar debemos ocultar la o las columnas laterales que no deseemos mostrar. Para ello tenemos dos archivos dentro de [directorio_raiz_prestashop]/themes/default:


  • header.tpl: controla las cabeceras. Aquí podremos evitar que se muestre la columna de la izquierda localizando las siguientes líneas:

  • footer.tpl: controla el pie de página. Aquí podemos controlar la visibilidad de la columna de la derecha, con las siguientes líneas:

Si os fijáis en la sintaxis del resto de los archivos, podemos incluir sentencias entre llaves. Por ejemplo, podemos poner una determinada condición para mostrar la columna de la derecha ediando footer.tpl e incluyendo una línea {if condicion} .... {/if}


Al poner un nombre de página que no existe la columna no se mostrará nunca. Podemos decirle que sólo la muestre en el índice (if $page_name==index), que no la muestre con !=... a gusto del consumidor.

Con esto evitamos que se muestre la columna de la derecha, pero el marco central no aprovecha el espacio que ha quedado libre. Para ampliar sus dimensiones iremos al archivo global.css dentro de la carpeta [directorio_raiz_prestashop]/themes/default/css y añadimos al final del archivo el siguiente estilo:


De este modo ampliamos el ancho de la columna central para ocupar el espacio vacío dejado al ocultar la derecha. Podemos hacer lo mismo con la columna de la izquierda y aumentar el ancho a 980px.

Espero que os resulte útil, esperamos vuestros comentarios.

lunes, 27 de enero de 2014

Prestashop: tienda virtual libre y gratuita

¿Necesitas montar una tienda virtual? Hay muchas soluciones disponibles para ello. Vamos a hablaros de Prestashop, un sistema de tienda virtual software libre y gratuito, potente y sencillo de implementar y manejar.


Requisitos previos

Como en la mayoría de CMS necesitaremos un servidor web para mostrar los archivos y una base de datos para la persistencia de los datos. Para implementar Prestashop necesitamos un servidor web que soporte PHP y bases de datos MySQL.


Instalación

Podemos descargar los archivos fuente de la página del desarrollador: http://www.prestashop.com/es/descarga

Una vez descargado crearemos una base de datos en MySQL y un usuario con todos los privilegios sobre ella. Podéis encontrar un tutorial sobre cómo hacerlo en http://alcasoft.blogspot.com.es/2012/08/instalar-joomla-facilmente.html (el tutorial es sobre instalar Joomla, pero usuario y base de datos se crean de igual modo).

Después descomprimid los archivos fuente en un directorio del servidor web y escribid la dirección en vuestro navegador: el proceso de instalación comenzará automáticamente. Para el ejemplo hemos trabajado en un servidor local WAMP (podéis encontrar un tutorial de instalación en http://alcasoft.blogspot.com.es/2011/12/instalacion-de-un-servidor-local-wamp.html).

Hemos descargado la versión 1.5.6.2 (más actual a fecha de este artículo) y lo descomprimimos en el directorio prestashop del servidor local. Accedemos a la instalación con la URL localhost/prestashop:


Elegimos el idioma y pulsamos siguiente. En la siguiente pantalla aceptamos los términos de la licencia y aparece un formulario para poner los datos principales de la tienda:


Introducimos el nombre de la tienda, el sector, el nombre y correo del administrador (que se usará para iniciar sesión en el panel del administrador) y la clave de acceso al backend. Pulsamos en siguiente y aparece el formulario para introducir los datos de conexión con la base de datos que creamos antes:


Si pulsáis el botón "Comprueba la conexión..." podréis verificar que los datos introducidos son correctos. Si lo son, pulsad el botón "Siguiente" para continuar con la instalación. En este momento se crearán automáticamente todas las tablas en la base de datos necesarias para el funcionamiento de Prestashop, se instalan los módulos, idiomas, addons, etc...

Esperamos a que el proceso termine (puede llevar unos minutos, en función de la potencia del servidor). Cuando el proceso termina el sistema nos informa de las credenciales de acceso:


Os recomiendo imprimirlo y guardarlo en un lugar seguro para no olvidarlo ;-). Finaliza con un mensaje informando que se debe eliminar la carpeta install. La eliminamos y accedemos a nuestra tienda con la URL http://localhost/prestashop (en el caso de ejemplo, cada cual en su servidor):


Ahora que ya lo tenemos instalado tendremos que acceder al panel de administración (o backend). Prestashop crea una carpeta adminXXXX (donde XXXX son cuatro números al azar para dificultar que terceros con malas intenciones accedan a nuestra tienda). Nos vamos al directorio en el que descomprimimos los archivos de Prestashop y miramos el nombre de la carpeta admin:



En nuestro caso la carpeta se llama "admin7785". Introducimos en el navegador la URL localhost/prestashop/admin7785:



Introducimos los datos de acceso que elegimos en el proceso de instalación y accederemos al panel de administración:


Con esto termina el tutorial de instalación, próximamente explicaremos el funcionamiento del panel y cómo personalizar nuestra tienda.

miércoles, 22 de enero de 2014

Error en el módulo de traducción de Prestashop

Si habéis tenido este problema seguramente habréis probado de todo. Aparece cuando tratas de utilizar el módulo de traducciones de Prestashop desde el menú Localización > Traducción de Mensajes:


En el siguiente paso seleccionáis el idioma a cambiar la traducción:

Aparece un formulario en el que se debería poder hacer cambios:


A menudo, al hacer clic en Actualizar (primer o segundo icono), la aplicación muestra una pantalla en blanco sin indicación del error. Si revisáis el log de errores del servidor podréis ver un error 406, bastante poco frecuente.

El problema ocurre porque la traducción se gestiona con un formulario y un registro demasiado extenso, el PHP no podrá gestionarlo con la configuración por defecto.

La solución pasa por ampliar la cantidad de variables que puede gestionar PHP añadiendo la siguiente directiva en el archivo php.ini:

max_input_vars = 2000

Por defecto gestiona 1000 y prestashop en la versión actual precisa de más de 1400 (ampliando a 2000 tendremos un margen de maniobra para futuras versiones de prestashop).

Espero que os resulte útil

Recomendaciones de Alcasoft