Nueva imagen para UrlanSoft

Por fin después de mucho tiempo con el sencillo diseño de UrlanSoft hemos sacado tiempo para hacerle un lavado de cara a una de las webs de la empresa.

La web sigue usando ZenCart pero con algunas modificaciones. Hemos puesto las categorías principiales en unas pestañas en la parte superior y en el menú lateral hemos dejado las subcategorías.

También hemos reordenado un poco el catálogo ya que hemos añadido algunos servicios nuevos como adaptación a la LOPD y LSSI o soporte para Moodle y bbPress. Aún falta trabajo para dejarlo como queremos pero ya lo tenemos bastante enfocado.

El diseño que hemos usado es el que tenemos desde hace un tiempo en UrlanHeat.

ZenCart 1.3.6 en español

Ya está lista y empaquetada la traducción de ZenCart 1.3.6. Se puede descargar desde el servidor de SourceForge aquí. Está traducido el catálogo y casi todo el panel de control y faltan los botones.

Puede usarse también en la última versión 1.3.7, sólo faltan algunas cosillas.

La instalación es muy sencilla:

1) Descomprimir el fichero y subir los archivos al directorio raíz de la tienda (donde está el index.php).
2) Entrar en el panel de control de la tienda.
3) Localización -> Idiomas.
4) Nuevo idioma.
5) Nombre: spanish, código: es, directorio: spanish.
6) Se puede marchar la casilla ‘Establecer por defecto’ para que el español sea el idioma por defecto.

ZenCartEs ahora en bbPress

Después de un tiempo usando PHP-Nuke + PHPBB en la web oficial de ZenCart en español, he decidido dar el salto a un nuevo sistema de foros, bbpress. Por supuesto, en esta decisión ha tenido mucho que ver el reciente ataque sufrido por la web.

La instalación de bbPress ha sido sencilla y los mensajes se han podido recuperar gracias a este script. No tiene la cantidad de plugins de phpBB pero es un foro sin complicaciones, que respeta los estándares y, espero, más seguro que phpBB. Otra pega es que aún no hay una traducción completa al español, pero lo he solucionado en parte “a lo bruto”, traduciendo directamente el código fuente. Cuando saque un rato intentaré ayudar en los foros con la traducción.

Foros de bbPress en español: bbPress.es.

Nueva versión de ZenCart 1.3.7

Hace un par de días se publicó la última versión de ZenCart. Es una revisión menor donde destacan:

– Se han corregido dos importantes vulnerabilidades XSS (Cross Site Scripting).

– Ahora Zen Cart tiene la certificación oficial para PayPal Express Checkout (aunque parece que sólo funciona para usuarios de los EE.UU).

El resto son pequeñas mejoras y corrección de pequeños fallos. Aún así es recomendable actualizar por las vulnerabilidades detectadas. Desgraciadamente no hay versión parcheada, sólo la versión completa de la tienda.

Esta última versión se puede descargar aquí:

http://sourceforge.net/project/showfiles.php?group_id=83781&package_id=171544

La noticia original en inglés:

http://www.zen-cart.com/forum/showthread.php?p=308156#post308156

Cambiar la extensión de varios archivos con PHP

Suele suceder a muchos de mis clientes que usan OsCommerce y Zen-Cart que cuando suben las imágenes de los productos vía FTP la extensión de los archivos está en mayúsculas pero en la base de datos aparece el mismo archivo con la extensión en minúsculas. Resultado: la imagen no se puede encontrar. Algunos de ellos optan por la solución de renombrar las imágenes y volver a subirlas pero, dado que era muy incómodo, escribí este pequeño código que renombra las imágenes directamente en el servidor:

// Corregir las extensiones de los ficheros de imágenes. Cambiar las extensiones en mayúsculas por minúsculas.

$directorio_imagenes = 'images/';
if ($directorio = dir($directorio_imagenes))
{
	while ($fichero = $directorio->read())
	{
		$info_fichero = pathinfo($fichero);
		// Si la extensión no está en minúsculas ponerla en minúsculas
		if (isset($info_fichero['extension']) && $info_fichero['extension']!=strtolower($info_fichero['extension']))
		{
			$info_fichero['basename_we'] = substr($info_fichero['basename'], 0, -(strlen($info_fichero['extension']) + ($info_fichero['extension'] == '' ? 0 : 1)));
			rename(
				$directorio_imagenes . $info_fichero['basename'],
				$directorio_imagenes . $info_fichero['basename_we'] . '.' . strtolower($info_fichero['extension'])
				);
			echo '<br/>' . $info_fichero['basename'] . ' cambiado.';
				
		}
	}
}

El script busca en el directorio especificado los directorios con la extensión en mayúsculas y los cambia a minúsculas. La “magia” se hace con este if:

if (isset($info_fichero['extension']) && $info_fichero['extension']!=strtolower($info_fichero['extension']))

que compara la extensión del fichero con su versión en minúsculas. Esto detecta las extensiones como: .JPG, Jpg, jpG y las convierte a .jpg.

Un sencillo programita que puede ahorrarnos muchas horas de trabajo. Esta versión sólo busca en un único directorio, no sería muy difícil modificarlo para que busque también en los subdirectorios.

El futuro ZenCart 1.4

Según el equipo de Zen-Cart en la futura (y esperemos que no muy lejana) versión 1.4 van a hacer una serie de cambios muy interesantes:

  1. Importantes mejoras en el acceso a la base de datos: un sistema de localización de errores más inteligente, reducción del número de consultas a la base de datos, creación de una clase para la gesión de los precios de productos. Se espera una reducción en el número de consultas de unas 800 a sólo unas 150.
  2. Control de stock por atributos (una característica muy solicitada).
  3. Revisión de las clases y funciones para reducir la duplicidad.
  4. Plantillas para los emails tanto en html como en texto plano.
  5. Más provincias, países y monedas añadidas al instalador.

Según mi punto de vista los puntos más fuertes de esta futura versión son los relativos a la reducción en los accesos a la base de datos y el control de stock por atributos. Son muchos los clientes que nos solicitan sobre todo esta última mejora.

La revisión y simplificación del proceso de compra tendrá que esperar aún más tiempo. Espero que no se demore esta nueva versión y que podamos disfrutar de ella en breve. Dado el ritmo de nuevas versiones con que están sacando nuevas versiones ultimamente no creo que tengamos que esperar mucho tiempo.

Image Handler 2.0 para ZenCart

Por fin tenemos disponible, gracias a Tim Kröger (BreakMyZenCart), la versión 2.0 de su fantástica contribución: Image Handler.

Esta contribución, compatible con ZenCart 1.3.0, permite gestionar cómodamente las imágenes de un producto:

  • podemos tener más de una imagen por cada producto,
  • basta con subir una imagen, él se encarga de crear las imágenes de tamaño pequeño, mediano y grande,
  • admite imágenes en jpg, gif y png,
  • añade marcas de agua a las imágenes,
  • y además es fácil de instalar.

ZenCart 1.3.0.1

Después del lanzamiento de la esperada versión 1.3.0 de ZenCart se encontraron una importante cantidad de fallos por lo que han decidido sacar la versión 1.3.0.1. Recomiendan instalar ésta en lugar de intentar corregir a mano cada uno de los fallos.

La versión 1.3.0 destaca por ser el primer paso hacia un sistema de plantillas sin tablas, todo CSS. Han mejorado mucho en este aspecto ya que ahora no hay los centenares de tablas que había en la 1.2.7 y anteriores.

También han implantado un sistema que facilita la creación de nuevos módulos sin necesidad de retocar los ficheros originales de la distribución, lo que hará que la actualización a nuevas versiones no sea tan traumático.

Otro punto importante a destacar es la mejora de la gestión de emails. Han sustituído el antiguo sistema (basado en la función mail() de PHP) por la clase PHPMailer mucho más completa y que les ha ahorrado una considerable cantidad de trabajo.