Call to a member function extend() on a non-object en Magento

Hace un tiempo ya me encontré con éste error.

En ese momento, en los foros no había información alguna (al principio me pareció extraño y supuse que podría ser algo particular de mi entorno de desarrollo).

El error que se nos imprime es el siguiente:

Fatal error: Call to a member function extend() on a non-object in /var/www/magento/app/code/core/Mage/Core/Model/Mysql4/Config.php on line 136

La clase en la que se da el error es Mage_Core_Model_Mysql4_Config ubicada en:

/app/code/core/Mage/Core/Model/Mysql4/Config.php
Seguir leyendo «Call to a member function extend() on a non-object en Magento»

Magento 1.3 (pensando en la performance)

Cerca del mediodía de ayer, se supo que Varien iba a estar publicando ésta versión a última hora del día.

Hace un par de semanas, pudimos saber a través de uno de los videos de una de las conferencias que se dieron en Europa (no recuerdo ni la fecha, ni el lugar), que ésta versión estaba en camino. En lo particular me sorprende con la velocidad con que se publicó la versión, pero tiene sentido que cambiara la denominación.

Los destacados en ésta oportunidad son:

  • Posibilidad para que los clientes suban archivos y opciones mejoradas para el manejo de fechas (ambos temas muy comentados en los foros).
  • Mejoras en la API para aumentar compatibilidad (y buenas prácticas).
  • Implementación del (suena rara la traducción literal) catálogo plano.

Como explican en el post sobre el lanzamiento de la versión 1.3 de Magento (http://www.magentocommerce.com/blog/comments/magento-version-130-is-now-available/), el catálogo plano consiste en dos tablas: una para Categorías y otra para Productos.

La de Categorías es recomendable utilizarla. La de Productos podría tener sentido con un catálogo numeroso de productos (recién en un par de días voy a comenzar pruebas con los catálogos que tenemos en producción).

Por supuesto, además de estos temas, se corrigen una buena cantidad de bugs. El changelog es de lectura casi obligatoria.

Seguir leyendo «Magento 1.3 (pensando en la performance)»

Magento 1.3

Parecería ser que en el día de hoy, en las últimas horas, tendríamos disponible la versión 1.3 para descargar.

A mantenerse sintonizados y ver qué mejoras radicales vienen.

Hace un tiempo se habló de cambios en la lógica del catálogo y el uso de entidades en pro de mejorar sustancialmente la performance.

Ejemplo de repositorio con SVN con un proyecto Magento

Hace ya un buen tiempo, estuvimos charlando con Pablo Montero (compañero de andadas en cuanto a Magento se refiere) sobre cómo estructurar un repositorio (con Subversion) para trabajar con la plataforma.

Vale aclarar que el ejemplo que voy a armar, es sólo eso: un ejemplo. Otra aclaración oportuna, sería que si bien el ejemplo lo aplico con Magento puede pensarse para cualquier otro proyecto y sería más o menos válido (hay mucho de decisiones arbitrarias al momento de crear un repositorio).

Antes de continuar, voy a dar por sentado que mínimamente tenemos una noción del uso de los trunk, tags y branches en SVN.

A manera de repaso simple (intencionalmente demasiado simple), vamos a considerar que:

  • trunk: es la rama principal del proyecto y es dónde se alojará la versión productiva.
  • tags: se utiliza para dejar marcada, por ejemplo, una implementación; y de esa forma poder volver a ese punto sin mayores problemas.
  • branches: suelen utilizarse como líneas de desarrollo independientes del trunk, las cuales en algún momento pueden volver a mergearse con la línea principal.

De seguro podríamos hablar mucho más sobre los branches, pero lo vamos a dejar para otro post. La idea hoy es armar un repositorio para que podamos trabajar con nuestra plataforma de ecommerce favorita.

Seguir leyendo «Ejemplo de repositorio con SVN con un proyecto Magento»