Si al entrar en el detalle de cada cliente en el backend de Magento 1.9 os devuelve el mensaje:

error: error in [unknown object].fireEvent():

event name: address_country_changed error message:

cannot read property ‘show’ of undefined.

Lo que debéis hacer es ir a la administración de bases de datos que tengáis (PHPMyAdmin, Adminer, etc) la tabla de eav_attribute y buscar el elemento postcode. Lo editáis y cambiáis el valor del campo is_required de 0 a 1, ya que es un campo necesario para los envíos.

Para actualizar una plataforma Magento 1.X en producción, seguiremos los siguientes pasos:

  1. Descargaremos el archivo desde la página de Magento mediante wget, o nos los descargamos en local y subimos el archivo por FTP o SCP.
  2. Descomprimimos el archivo
    tar -zxvf magento-1.9.X.tar.gz
    o
    unzip magento-1.9.X.zip,
    donde X es la versión que nos hemos descargado
  3. Como se habrá descomprimido en un directorio llamado magento, entramos en él:
    cd magento
  4. Y copiamos todos los archivos descomprimidos sobre los actuales, machacando los anteriores:
    cp -rf * ../
  5. Salimos del directorio magento y lo borramos:
    cd ..
    rm -rf magento
  6. Y nos cercioramos que los permisos y propietarios de directorios y archivos son los correctos:
    find -type f -name ‘*.*’ -exec chmod 644 {} \;
    find -type d -exec chmod 755 {} \;
    chown -R username:groupname *, donde username será www-data o el usuario propietario en cada caso, y lo mismo para groupname

Al crear una regla o promoción de carrito en el que queráis hacer un descuento a un grupo de clientes, podéis encontraros con el problema de que el cliente se loga, pero el carrito sigue mostrando los precios sin el descuento por ser de un grupo determinado con promoción y descuento. Esto es debido a que habéis marcado a Sí la opción “Habilitar asignación automática al grupo de clientes”. Debéis marcarla a No si vais a tener varios grupos de clientes con descuentos y promociones según su grupo, o en la página de checkout se asignará al cliente al grupo General, aunque esté logado correctamente.

La opción “Habilitar asignación automática al grupo de clientes” está en Sistema->Configuración->Clientes->Configuración de cliente.

A veces me he encontrado con que ha habido que corregir a mano la url o el nombre de la imagen de algún producto en una base de datos de Magento. Cuando esto pasa, hemos de saber que hay que trabajar con 2 tablas:

catalog_product_entity_varchar

catalog_product_entity_media_gallery

A veces nos ha ocurrido que aunque la plataforma Magento (versión 1.9) funciona perfectamente y las URLs van bien, cuando hemos querido instalar desde el Downlader una extensión con la URL del Marketplace de Magento, nos ha dado el error:

Leer más

En este caso, tenemos un cliente que quiere que sólo los atributos con valor a “Sí” (o TRUE, o “Verdadero”, como queráis). ¿Cómo lo conseguimos?
Nos iremos al archivo attribute.phtml del paquete del tema que estamos utilizando, cuya ruta es:

/app/design/frontend/nuestro_tema/paquete_usado/template/catalog/product/view/attribute.phtml

Y buscamos este código:
[crayon-5ae2386c45bb4246779775/]
Y lo reemplazamos por este otro:
[crayon-5ae2386c45bbb175420295/]
Obviamente, en el punto del código donde pone ‘No’, podemos poner
[crayon-5ae2386c45bbd306369383/]

Si no nos interesan los logs, borraremos todos los registros de las tablas
log_customer
log_visitor
log_visitor_info
log_url log_url_info
log_quote
report_viewed_product_index
report_compared_product_index
report_event
catalog_compare_item

Se puede meter en cron para que salte la limpieza 1 vez al mes, por ejemplo:
php -f shell/log.php clean

También puede hacerse en la interfaz del administrador: Sistema->Configuración->Avanzado->Sistema->Log
Habilitamos la limpieza de logs y definimos la frecuencia de borrado. Guardamos y ya está todo.

Si nos interesan (por temas de estadísticas de visitas), dejaremos los del último mes o los 2 últimos meses.

Cuando en Magento estamos trabajando con listados de productos en categorías y activamos el atributo “isAnchor” en la categoría para que salga el buscador por atributos, el list.phtml que muestra el listado no es el que tiene la plantilla en
plantilla-que-estamos-usando/template/catalog/product/list.phtml,
sino el que se encuentra en la carpeta
base/template/catalin_seo/catalog/list.phtml.

Entonces, para personalizar esta plantilla, copiaremos el contenido de catalin_seo a la carpeta de nuestra plantilla, y modificaremos ese archivo.

A veces sucede que cuando se instala un plugin en MAgento, o lo desinstalamos, o actualizamos la plataforma de alguna forma, la parte del front se ve perfectamente y funciona todo, pero al intentar entrar en el backend, no podemos acceder al mismo.

Nos ponemos un poco nerviosos, porque aunque no es la pantalla de mantenimiento, no podemos acceder al backend de nuestro comercio electrónico. Si después de hacer lo que te recomiendan en foros y webs, que suele ser “borrar el contenido del directorio de var/cache de Magento”, “borrar el contenido del directorio var/sessions de Magento” y ver que sigue igual, y después de poner el código correspondiente al modo desarrollador:

[crayon-5ae2386c45e75553713059/]

y comprobar que seguimos sin ver nada, ni en los archivos de log propios de Apache ni en los de var/log y var/reports de Magento, y tampoco has conseguido ver qué ocurre al desactivar la compilación, es que ha llegado el momento de utilizar este código, que devolverá qué clase es la que da el error, y por lo tanto, nos dará pistas de qué está ocurriendo (por ejemplo, que no se ha instalado / desintalado el plugin correctamente, o que la instalación ha encontrado algún problema a la hora de volcar todos los archivos de la actualización, y alguno no lo ha hecho, o se ha corrompido algún archivo, etc).

[crayon-5ae2386c45e7c637035199/]