Unificar anchura de los métodos de pago en el listado en Prestashop

En algunos post del foro, hace varios años fui comentando casos parecidos…

Guía basada en Prestashop 1.6 con la plantilla por defecto.

Llegado un momento, es posible que cuando vayamos a visualizar los métodos de pago, a la hora de elegir cual queremos para completar la compra, veamos que el ancho es diferente en cada uno de los bloques y no queda muy bien estéticamente.

En este ejemplo, tenemos instalado 4 módulos, que son, el Módulos de Contrareembolso, de Transferencia Bancaria, de Contra-Reembolso (Estos vienen por defecto en Prestashop) y el módulo de iupay (versión 2.8.3) descargado de la web de Redsys

Métodos de pago en Prestashop

Métodos de pago en Prestashop

En esta imagen, vemos que la anchura del módulo de “iupay” no es la misma que  la del resto de módulos.

La solución es la siguiente (en este caso).

1º Hacer override del tpl del módulo de esa parte en tu plantilla.

Copiar el fichero:

“/modules/iupay/views/templates/hook/payment.tpl”

En:

/themes/default-bootstrap/modules/iupay/views/templates/hook/” (La estructura de directorios del módulo la tenéis que crear en vuestra plantilla.)

2º Modificar: “/themes/default-bootstrap/modules/iupay/views/templates/hook/payment.tpl”

Cambiar en el fichero la siguiente instrucción:

<div class="col-xs-12 col-md-6">

por

<div class="col-xs-12">

Finalmente quedara de la siguiente forma:

Ancho de los métodos de pago totalmente unificados

Ancho de los métodos de pago totalmente unificados

Esto es solo un Ejemplo, es posible que en vuestro caso sea debido a otro problema, tenéis que fijaros en la estructura de otros módulos, como por ejemplo el de transferencia bancaria:

/themes/default-bootstrap/modules/bankwire/views/templates/hook/payment.tpl

Y adaptar la estructura básica al vuestro.

Asociar imágenes a características en Prestashop

Tenemos un aporte del usuario Reda OULED que permite configurar imágenes a los valores de las características en Prestashop 1.7 (También compatible con Prestashop 1.6)

La instalación de este módulo se hace desde la pestaña Módulos -> Módulos y Servicios, como suele ser habitual.

Configuración del módulo para asociar imágenes a las características en Prestashop 1.7

Configuración del módulo para asociar imágenes a las características en Prestashop 1.7

La única opción de configuración que nos permite el módulo, son simplemente la anchura y altura a la que vamos a visualizar la imagen que vamos asociar al valor de la característica.

¿Cómo se añade una imagen al valor de la característica en Prestashop 1.7?

Vamos a la pestaña Catalogo -> Atributos y Características (Señalamos Características de los Productos)

Accediendo a la gestión de atributos y características en Prestashop 1.7

Accediendo a la gestión de atributos y características en Prestashop 1.7

Ahora señalamos una de las características y editamos un valor de dicha característica.

Editando valor de una característica

Editando valor de una característica

Añadiendo imagen al valor de una característica en Prestashop 1.7

Añadiendo imagen al valor de una característica en Prestashop 1.7

Vemos que ahora aparece un nuevo campo donde podemos subir/asociar la imagen al valor “Elegante” de la característica “Estilos” 

¿Cómo se ve la imagen en la tienda?

Visualización icono de la característica en Prestashop 1.7

Visualización icono de la característica en Prestashop 1.7

El módulo lo podemos descargar desde aquí:

  • https://www.prestashop.com/forums/topic/591769-module-gratuit-image-caract%C3%A9ristique/

Tutorial probado en Prestashop 1.7.0.6 con la versión “1.0.0” del módulo.

Generar Sitemap para Yahoo / Bing en Prestashop 1.7

En la Comunidad de Prestashop, tenemos disponible un módulo del usuario PrestaToolkit, que por lo que nos reportan los usuarios de la misma, funciona en Prestashop 1.7 (También en Prestashop 1.6)

La instalación del módulo la realizamos como es habitual desde la pestaña Módulos -> Módulos y servicios

Configuración módulo Bing / Yahoo Sitemap en Prestashop 1.7

Configuración módulo Bing / Yahoo Sitemap en Prestashop 1.7

Las opciones de configuración del módulo son las siguientes:

  • Nos permite indicar, que secciones de nuestra tienda no queremos añadir al Sitemap, además de indicar la frecuencia con la que actualizamos la tienda (datos muy importantes para cuando el “bot” vaya a rastrear nuestra tienda)
  • Por último, nos proporciona la opción de añadir la url de generación del sitemap en Cron, para no tener que ejecutarla manualmente.

El módulo y el enlace oficial de soporte lo tenemos disponible aquí:

  • https://www.prestashop.com/forums/topic/531409-free-prestashop-bing-sitemap-generator-module/

Tip probado con la versión “1.0.0” del módulo.

Compartir proyectos de BlueJ en repositorios como Github

Trabajar con repositorios es imprescindible 🙂

En BlueJ (Versión 4), tenemos una opción en la pestaña Herramientas, que nos permite compartir nuestro proyecto en Git.

Para los que no tengáis cuenta en Github, os la vais creando https://github.com/join?source=header

Una vez que hayáis creado la cuenta, dentro de la opción “Repositories“, creáis vuestro repositorio, por ejemplo “BluejNever

Una vez creado el repositorio, volvemos a BlueJ y en el menú superior pulsamos en Equipo -> Compartir este proyecto


En tipo de servidor señalamos “Git” y en Repository URI, colocáis la url del repositorio que habéis creado.

Evidentemente en usuario, contraseña, deben ser las de github, y los otros datos vuestros datos 🙂

Una vez creado, veremos que en github, ya tenemos el repositorio listo !

Si volvemos a Bluej, veremos que tenemos que dentro de Herramientas -> Equipo, tenemos nuevas opciones habilitadas.

Hacer pruebas con objetos en BlueJ

BlueJ, nos proporciona una opción llamada Unit Test (Traducida como Prueba de Unidad).

Imaginemos que hemos creado varias instancias de la clase Nadie.

Banco de Objetos en BlueJ

Banco de Objetos en BlueJ

Si hacemos por ejemplo un cambio en la clase Nadie y compilamos, perdemos estos tres “objetos” que tenemos en el banco de objetos de blueJ

La clase “Prueba de Unidad”, nos permite guardar estos tres objetos y poder recuperarlos en cualquier momento.

Para ellos lo primero es crear dicha clase, para ello, nos vamos al panel principal y pulsamos en “Nueva Clase”

Nueva Clase en BlueJ

Nueva Clase en BlueJ

La vamos a llamar “Prueba”

Crear Prueba de Unidad en BlueJ

Crear Prueba de Unidad en BlueJ

En tipo de clase seleccionamos “Prueba de Unidad

Hacemos Click en Aceptar y ahora veremos en nuestro tablero principal que tenemos la clase Nadie que teníamos creada y la clase Prueba que acabamos de crear.

Tablero de Clases en BlueJ

Tablero de Clases en BlueJ

Vamos a imaginar que tenemos tres objetos creados de la Clase Nadie, como habíamos dicho antes.

Pues simplemente ahora pulsamos sobre la clase que hemos creado y denominado “Prueba” con el botón derecho y seleccionamos: “Banco de Objetos para Prueba Base

Banco Objetos BlueJ

Banco Objetos BlueJ

Veremos que ahora tendremos una flecha desde “Prueba” que señala hacia la clase “Nadie”

¿Cómo podemos recuperar los objetos que teníamos creados de la clase Nadie en BlueJ?

Hacemos Clic derecho sobre la clase Prueba y señalamos la opción: “Prueba Base para Banco de Objetos

Banco Objetos BlueJ

Ocultar / Mostrar número de línea de código en BlueJ

En el menú superior de BlueJ, si nos vamos a la pestaña Herramientas -> Preferencias

Tenemos una opción denominada “Display line numbers

Mostrar número de línea en BlueJ

Mostrar número de línea en BlueJ

Si chequeamos esa opción, cuando estemos viendo el código dentro de BlueJ, veremos en el lateral el número de línea.

Ver número de línea en BlueJ

Ver número de línea en BlueJ

Si no seleccionamos la opción que hemos comentado, no veremos el número de línea en el editor de código de BlueJ

Ocultar número de línea en BlueJ

Ocultar número de línea en BlueJ

¿Qué ocurre cuando realizo acciones gráficamente en BlueJ?

Imaginemos que invocamos un método del objeto “rodenas” perteneciente a la clase Nadie

Invocar método en BlueJ

Invocar método en BlueJ

Invocamos el método, rellenamos los datos, etc..

Invocación método en BlueJ

Invocación método en BlueJ

¿Pero realmente a nivel de código que instrucción se ha ejecutado?

En BlueJ, tenemos una opción llamada Mostrar Terminal, que la podemos habilitar desde la barra superior de opciones en “Ver -> Mostrar Terminal

Si pulsamos en “Mostrar Terminal”, veremos que la instrucción que se ha generado al invocar el método que hemos invocado con los parámetros en cuestión es la siguiente:

rodenas.setModificar(4, 100);

Es decir, nombre_del_objeto.nombre_del_metodo(parametros);

Terminal en BlueJ

Terminal en BlueJ

Crear método básico de modificación de datos en BlueJ

En un TIP anterior hemos tratado la creación básica de constructores de una clase en Java con BlueJ

Vamos a crear un método  en la clase Nadie, para actualizar los valores de los atributos de la clase Nadie.

Recordamos el contenido de la clase Nadie, en la actualidad.

Clase Nadie en BlueJ

Clase Nadie en BlueJ

Al método lo vamos a denominar “setActualizar“.

El método “setActualizar” actualizara tanto el valor del atributo “a” como el valor del atributo “b” de la clase Nadie.

public void setModificar (int a, int b)
{
this.a=a;
this.b=b;
}

Vemos que el método se llama “setModificar“, que le pasamos dos parámetros enteros (int a, int b) que luego los valores que le pasamos al método, los traspasa al valor que de los atributos/variables “a” y “b” de la clase Nadie.

Con la palabra “void” indicamos que es un método que no devuelve ningún valor, simplemente ejecuta las instrucciones que este dentro del método, cuando se realice la invocación de dicho método.

Si el método devolviera por ejemplo un valor entero, depende “void“, colocaríamos “int”.

Esto lo iremos explicando en posteriores Tips, si el tiempo y la salud me lo permite.

Una vez que tenemos el método “setModificar” creado, tal como podemos ver en la siguiente captura:

Método modificar datos de la Clase Nadie en BlueJ

Método modificar datos de la Clase Nadie en BlueJ

Vamos al tablero donde podemos ver las Clases, y creamos un objeto (lo vamos a llamar “rodenas” al objeto, y lo vamos a crear basado en el constructor que no lleva parámetros)

Crear Objeto de la clase Nadie

Crear Objeto de la clase Nadie

Una vez creado, nos vamos al “Banco de Objetos“, con el botón derecho, tendremos la posibilidad de invocar los métodos que tiene la Clase Nadie.

Invocar métodos de la Clase Nadie en BlueJ

Hacemos click sobre el método “void setModificar(…)” y nos saltara una ventana, donde podremos introducir “dos valores”

Meter valores en método de la clase Nadie en BlueJ

Meter valores en método de la clase Nadie en BlueJ

Vamos a introducir “5 en la primera cajetilla y 10 en la segunda cajetilla” y pulsamos en aceptar.

Ahora, vamos a ver cuánto valen los atributos “a y b” de la clase Nadie, para eso en el mismo banco de Objetos, hacemos click sobre el objeto “rodenas” y pulsamos en “Inspeccionar”

Ver valores de los atributos de la Clase Nadie en BlueJ

Ver valores de los atributos de la Clase Nadie en BlueJ

Una vez pulsado “Inspeccionar”, veremos la siguiente ventana:

Valores de los atributos de la Clase Nadie en BlueJ

Valores de los atributos de la Clase Nadie en BlueJ

Estamos viendo los valores de los atributos “a” y “b” de la clase Nadie.

Constructores básicos de una clase en BlueJ

El titular es un poco amarillista, básicamente se debería llamar Constructores de una clase en Java, pero como estamos trabajando con el IDE BlueJ, pues lo hemos titulado de esa forma.

Imaginemos que hemos creado una clase tal como hemos indicado en anteriores tips y la hemos denominado: “Nadie

Si recordamos el antiguo TIP, vemos que BlueJ, nos creaba una clase con un atributo, un constructor que inicializa ese atributo y un método adicional.

El constructor de la clase se llamaba igual que la clase, es decir, si la clase es:

public class Nadie

El constructor lo denominábamos:

public Nadie

Podemos tener varios constructores en una misma clase, por ejemplo un constructor al que no le pasamos ningún parámetro, otro al que le pasemos un parámetro, etc..

Cuando nosotros creamos un objeto de una clase, el constructor garantiza que ese objeto se configure correctamente al crearlo.

Vamos a imaginar que en la Clase Nadie, tenemos dos constructores.

Constructores en Java dentro de BlueJ

Constructores en Java dentro de BlueJ

Si analizamos la imagen, vemos que tenemos dos atributos (privados) de la Clase Nadie.
Un atributo llamado “a”, y otro “b”

private int a;
private int b;

Analizamos el primer Constructor:

public Nadie()
{
a = 5;
b= 8;
}

En este constructor lo que hacemos es inicializar el valor del atributo/variable “a” con un valor de 5, y el del atributo/variable “b” con un valor 8

Analizamos el otro constructor:

public Nadie (int a, int b)
{
this.a=a;
this.b=b;
}

A este constructor le pasamos dos valores enteros como parámetros, luego esos valores quedaran almacenados en los atributos/variables “a” y “b” de la clase Nadie.

Si os fijáis, vemos que estamos usando la palabra “this“, para acceder a los atributos/variables de la clase Nadie, ya que “a” y “b” en nuestro caso tienen el mismo nombre tanto en los parámetros del constructor como en los atributos/variables de la clase Nadie.

Cuando creamos un objeto de la Clase Nadie, podemos elegir uno de los dos constructores tal como podemos ver en la siguientes imágenes:

Si creamos un objeto basándonos en el Constructor que no lleva parámetros, los valores de “a” y de “b” al crear el objeto serán “5 y 8” sucesivamente.

Si creamos un objeto basándonos en el Constructor que lleva parámetros, los valores de “a” y de “b” serán los que le vayamos a pasar.

Crear nuevo proyecto en BlueJ

Para poder crear un nuevo proyecto en BlueJ, simplemente al iniciar BlueJ, en el menú superior, pulsamos en Proyecto -> Nuevo

Creación de nuevo proyecto en BlueJ

Creación de nuevo proyecto en BlueJ

Al pulsar sobre “Nuevo“, nos aparecerá un cuadro de dialogo, donde podremos seleccionar donde queremos guardar el proyecto  y como lo queremos llamar.

Ubicación y nombre de Proyecto en BlueJ

Ubicación y nombre de Proyecto en BlueJ

Al pulsar en “Crear”, ya podremos trabajar con el nuevo Proyecto.

Proyecto creado en BlueJ

Proyecto creado en BlueJ