Opciones de formatDate en Magento

Hace un tiempo ya vimos como empezar a trabajar con el método formatDate.

El mismo se encuentra disponible en casi cualquier phtml, debido a la estructura de herencias de bloques.

La única función que tiene, y no por eso despreciable, es manipular el formato en el cuál se mostrará una fecha proveniente de la base de datos. Si bien lo vamos a usar de manera habitual dentro de nuestros phtmls, es posible utilizarlo también dentro de las plantillas de email.

Vamos a suponer que tenemos un objeto $data en una variable en nuestro phtml, que contiene un registro cualquiera (un producto, una página, etc) y que tiene un campo de fecha (al que vamos a llamar date haciendo honor a la falta de creatividad de ésta hora).

Ahora bien, si quisiéramos mostrarlo y simplemente lo invocamos, obtendríamos la fecha tal cual viene desde la base de datos.

echo $data->getDate();

Mostraría

2009-09-03 11:19:31 PM

Claro está que lo que buscamos es hacer presentable ese valor, y que, además, funcione de manera acorde a nuestra configuración regional.

Seguir leyendo «Opciones de formatDate en Magento»

Contact Form 7 y los archivos adjuntos

Hace ya un buen tiempo había hablado sobre cómo implementar Contact Form 7 en nuestro blog.

Hoy vamos a ver cómo agregar a nuestro formulario, la posibilidad de recibir archivos adjuntos (y que nos lleguen en el mail, claro está).

Para empezar, voy a tomar mi actual formulario de contacto (que siendo fiel al lo vago que vengo siendo, no tiene diseño).

Formulario de contacto con Contact Form 7
Seguir leyendo «Contact Form 7 y los archivos adjuntos»

Simulando show tables y describe de Mysql en PostgreSql

Si hay algo que me toca extrañar de Mysql cuando trabajo con PostgreSql (en particular cuando estoy haciéndolo por consola y de forma remota), son los dos comandos que ayudan a armar los queries que vamos necesitando.

A pesar que desde Mysql 5 existe el catálogo con la metadata de las bases de datos, para quienes venimos desde versiones previas, el uso de funciones como show tables y describe han sido casi fundamentales al momento de trabajar con la base de datos.

Para quienes no conozcan los comandos, el primero nos lista las tablas que existen en nuestra base de datos, y el segundo, pasándole como valor el nombre de una tabla, nos muestra qué columnas tiene, con qué tipo de datos, información de los índices y algunos campos más.

Seguir leyendo «Simulando show tables y describe de Mysql en PostgreSql»

Update con Subselect en Mysql

Es posible que en algunas oportunidades necesitemos hacer una actualización a una tabla en donde la clave a utilizar en el where nos sea desconocida, y que sólo podamos obtenerla partiendo de una segunda clave en una segunda tabla.

El truco para esto es utilizar subconsultas.

Lo más probable es que al pensar en esto, escriban un ejemplo como el siguiente:

UPDATE
  tabla1
SET
  campo = 'nuevo_valor'
WHERE
  campo_de_referencia = (
    SELECT
      tabla1.valor
    FROM
      tabla1,
      tabla2
    WHERE
      tabla1.campo = 'viejo_valor'
      AND
      tabla1.clave_primaria = tabla2.clave_foranea
      AND
      tabla2.campo_de_referencia = 'otro_valor'
  )
;

Lamentablemente, esto no va a funcionar y van a obtener el siguiente error.

You can't specify target table 'tabla1' for update in FROM clause
Seguir leyendo «Update con Subselect en Mysql»