miércoles, 12 de junio de 2013

Prestashop: Añadir un campo nuevo en el artículo

Recientemente me he encontrado con que tenía que definir un código adicional en los artículos de Prestashop. Inmediatamente me vino a la cabeza que podía usar el código UPC ya que sólo lo usan Canadienses y Japoneses y mi tienda de momento, no iba a ir dirigida para ellos.

El problema con el que me encontré es que este código es sólo numérico, de una longitud determinada y encima se valida.

Así que me decidí a tunearlo.

Modificación del diccionario

Este campo se encuentra en tabla 'ps_product' y es un varchar de 12 posiciones. Si no nos vale, deberemos acceder a la base de datos, con el phpmyadmin por ejemplo, y modificar la estructura del campo.

En mi caso, el tipo del dato me valía, pero necesitaba que fuera de 14 posiciones, por lo que ejecuté la siguiente petición:

ALTER TABLE `pr_product` CHANGE `upc` `upc` VARCHAR(14) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL

Modificación del programa

Ahora sólo quedaba quitar la restricción por software al formato del campo.  Esta restricción se encuentra en el fichero    .\classes\product.php

Lo único que tenemos que hacer es ir a la línea 260 y cambiar 'isUPC' por 'isString' y en mi caso, que recordad que también cambiaba la longitud el número 12 por 14.

Este programa hace tiempo que no cambia y la línea sigue siendo la 260 en Prestashop 1.5.4., pero si algún día cambiara, lo que podéis hacer es buscar el texto:   'isUpc', 'size' => 12    Así, con comillas y todo.


Añadir campo nuevo

Esta solución que he aplicado para un caso muy relacionado con la funcionalidad original del campo, puede con un poquito de imaginación evitar el engorroso proceso de añadir un campo nuevo a la ficha del artículo de Prestashop.

Y nada más. Espero que a alguien le sirva.   :-)

E

No hay comentarios:

Publicar un comentario