Magento


LaPreguntaDelMillon

La pregunta del millón: ¿Magento, Prestashop, WordPress, Symfony, PHP a pelo..

Es el gran dilema en el desarrollo de aplicaciones web. Te hablan sobre un proyecto; con unos requerimientos, unas especificaciones. Debes elegir con las premisas que te dan: presupuesto, tiempo de entrega, calidad, flexibilidad, mantenibilidad, practicidad.. ¿Existe ya una solución para el proyecto? ¿Se puede partir de un CMS y modificarlo? ¿Son demasiadas las modificaciones que se van a hacer al CMS? ¿Es viable partir de un framework de calidad? ¿Buscamos máxima calidad, o menor precio? ¿Hay muchos desarrolladores disponibles en el mercado para mantener el proyecto?


Magento logo money

Magento: sacar el ciclo de ventas con un script de PHP

He recibido una consulta sobre cómo sacar el ciclo de ventas de Magento. Ya respondí, pero los cálculos no me salen exactos. Así que jugando, jugando.. he tratado de encontrar cómo Magento calcula el ciclo de ventas que vemos en el panel de control. Como no me daba exacto, he recorrido después las facturas, que tampoco me daba exacto. Y después añadí el recorrido de los abonos. Con y sin impuestos, tampoco me daba la misma cifra. Balanceando facturas con abonos, con y sin impuestos, que es lo correctamente contable tampoco me salía la misma cifra, aunque se iba acercando.. Conclusión, que en una tarde recorriendo los pedidos, facturas y abonos, no salen los mismos cálculos que te muestra Magento en el panel de control. Pero aquí dejo la información para el que le pueda servir 😉 de todas formas, contablemente, lo correcto son contabilizar las facturas y abonos.


Magento logo

Magento: modificar comportamientos mediante eventos y observadores

Una de las formas más interesantes de modificar el comportamiento de tu Magento es utilizar los eventos. Se ejecutan en cada click del navegador, cuando un visitante se registra, cuando se añade un producto al comparador, cuando se crea un pedido, cuando se visita una página, una categoría, un producto, cuando un visitante entra a su zona de usuario, edita sus datos, busca contenidos.. es ingente la cantidad de eventos. Es decir, que contínuamente se están disparando una tonelada de eventos mientras que se ejecuta Magento.


AWS CloudFront: balanceando las visitas entre varios servidores

Hoy traigo un pequeño HOWTO de cómo balancear las visitas de un sitio web entre varios servidores, eligiendo exactamente qué visitas van a qué servidores. Se trata unas pocas directrices para configurar CloudFront y así redirigir las peticiones web. Con esto puedes controlar qué subdirectorios, o que zonas de tu aplicación web se gestionan desde qué servidores. Balancear en función de la carga se puede hacer con un ELB (Elastic Load Balancer), pero estas configuraciones a nivel de CloudFront balancean las peticiones de forma permanente. Por ejemplo:


SEOPagespeedMobile

SEO técnico, ponle nota a tu web

Montar una web con lo imprescindible, ponerle el contenido y diseño, y olvidarnos de ella.. sería como comprarnos un coche y ya no preocuparnos nunca por pasarle una revisión. Sería como si nos diera igual si hay una bajada de potencia del motor, que las ruedas no estuvieran bien hinchadas. Quizá una bujía deja de dar los chispazos al 100%.. Y no sólo están los problemas de mal-funcionamiento, sino que quizá también hay algunas mejoras extras. No todo viene de casa, y puedes hacer que el coche vaya mejor. ¿Porqué no entonces dedicarle ese tiempo a nuestra web para revisar esas cosas? Es más, ¿porqué no poner a un mecánico que sepa lo que está haciendo? Está claro que nos podemos quedar tal cual, nuestro coche andará. Pero queremos que no le falte esa alegría, que responda sin pereza. Resumiendo, queremos que la maquinaria esté bien engrasada, sacando el 100% […]


Magento logo

Magento: cómo hacer overriding de las plantillas .phtml del backend

Es ingente la cantidad de cosas que se pueden hacer en un Magento recién instalado. Es un CMS orientado al eCommerce muy completo. También muy orientado a la optimización para motores de búsqueda (SEO). Tiene muchas características que le dotan de gran flexibilidad. Entre ellas es la “sencilla” forma de ampliar funcionalidades sin que nada se rompa. Siempre claro, que hagamos lo que en programación se llama overriding. De esta forma, no tocaremos los ficheros originales, ampliando o modificando su funcionamiento en otro espacio de trabajo. Qué es hacer overriding Es la forma correcta de hacer las cosas. Si queremos modificar o ampliar funcionalidades de un CMS, lo que siempre debemos de hacer es overriding. Por ejemplo, en WordPress es bastante habitual encontrarte con plantillas que se han modificado. Si se han modificado con el editor que te trae WordPress en el mismo panel de control, sin antes haber hecho […]


Magento logo

Magento: listando precios de los productos

Hoy traigo un pequeño HOWTO para ver el estado de los precios del catálogo de productos. Está hecho sobre un Magento 1.9. La idea es la misma que vengo exponiendo en posts anteriores. Es decir, cogemos la colección de productos y vamos imprimiendo por pantalla los datos. Esto si queremos lo guardamos en un fichero y a trabajar con los datos. Vamos al grano hermano..


Magento motor

Magento: pedidos, stocks y su ciclo de vida 2

Para mejorar la eficiencia de una empresa, debemos de darle especial atención a la cantidad de activos que tenemos disponibles. Los activos de una empresa son los productos que se venden. Saber cuántos hay exactamente, cuántos hay que pedir a proveedores, si permitimos ventas infinitas, si estamos en rotura de stock.. Todo esto es información muy importante para mejorar los procesos de una empresa. Si esto mejora, debería de mejorar también el trato con el cliente, la percepción que tiene de nosotros, la cantidad de incidencias que podamos tener. Podemos pensar que tenemos un producto en stock que luego hay que pedir a proveedores. O puede pasar que no se esté vendiendo un producto que tenemos en stock. O simplemente para minimizar la cantidad de stock en almacén también es interesante automatizar todo lo que se pueda. Aquí llegamos al ciclo de vida de los pedidos y stocks en Magento. […]


Alexa up

AWS: una buena infraestructura no es suficiente, pero sí necesaria

Ya puedes tener la estrategia de marketing mejor del mundo, la mejor campaña publicitaria, los mejores anuncios. Unas publicaciones excelentes en blogs, una gran inversión en SEM, o un SEO de contenidos inmejorable. Que si la infraestructura informática subyacente no acompaña de poco servirá. Aquí es donde entra el estar o no en la nube. Y nunca mejor dicho, poner tu aplicación web por las nubes.


MagentoYelModeloDeDatosEAV

Magento: cambiar scope de los atributos de productos

Una de las bondades que tienen Magento es su flexibilidad. En este post vamos a ver el tema de los atributos de producto, cual es su scope o alcance. En general, esto se facilita mucho con su uso interno del modelo de datos EAV. Gracias a EAV que podemos gestionar muchos valores de atributos de cada elemento sin tener que modificar la base de datos. Es decir, no tenemos que hacer una columna nueva para cada atributo nuevo. Sino que se da de alta el atributo en una tabla, y en otra se guardan los valores de los atributos sin haber hecho absolutamente ninguna modificación en la estructura de la base de datos. Disponemos de tres niveles de configuración normalmente, aunque realmente hay cuatro, para configurar muchas de las cosas que hay dentro de un Magento. Tenemos el nivel de website, de store y de store view. Traducidos son sitio […]


Magento_cron_jobs

Magento: cron jobs, el latir del corazón 2

En una reunión en un café con unos colegas de trabajo estábamos hablando de CMSs, citando Magento, llegaron algunas preguntas como: ¿qué tiene Magento de especial? Pues una de las peculiaridades que le dan una gran potencia a Magento es la gestión de tareas programadas. Magento nos obliga a disponer de un servidor en el que podamos configurar un programa, en este caso el cron de Magento, para que se ejecute cada x tiempo. Yo lo estoy instalando para que se ejecute a cada minuto. Este programa interno de Magento se llama cron igual que en Linux tenemos también el cron. Es el programador de tareas, no es el Crom de Conan el bárbaro que me comentaba un compañero de trabajo xDD En las últimas versiones se ha pasado incluso el envío de emails transaccionales como tarea programada. Es decir, los emails transaccionales se envían a una cola de envío […]


Magento el problema de las fechas

Magento: el problema de las fechas

Hola de nuevo. Esta semana he seguido avanzando sobre todo esto de Magento. Creando unos trabajos de cron, después de haber probado las tareas cron a ejecutar mediante scripts externos a Magento. Me he encontrado con que las fechas no me funcionaban como yo esperaba dando malos resultados. Probando probando, llegué a la conclusión de que tratando las fechas mediante cadenas de caracteres podía aplicarles las modificaciones que necesitaba.


Magento logo

Magento: primeras incursiones, recorriendo los productos

Este estupendo CMS orientado a la venta online de productos hace las delicias de los vendedores, de igual modo de los maquetadores, y cómo no, también de los programadores. Como analista programador llevaba ya un tiempo queriendo meterle mano a las entrañas de Magento. Así que poco a poco, he ido cogiendo los manuales para el usuario, luego el del diseñador, y ahora tengo entre manos el del programador. Ahora según van surgiendo las necesidades voy haciendo incursiones cada vez más a fondo en el código fuente de esta humongous web application. La verdad es que lo estoy disfrutando porque Magento está desarrollado con una buena estructura y sobre un gran framework de desarrollo PHP, el Zend Framework. Incorporando técnicas de programación que le dan una gran flexibilidad sin añadir demasiada complejidad.


Magento logo

Magento 2: conociendo a la bestia parda

De todos las soluciones de tienda online que he conocido hasta la fecha, Magento es de lo más robusto y potente que he visto de código abierto. Estoy conociendo poco a poco los entresijos de Magento 1 en el trabajo, y es buen momento de ver las mejoras que trae Magento 2 y así cotejar. Es un sistema de información dedicado a la venta robusto, flexible y muy personalizable. Alrededor de Magento se mueve todo un ecosistema de soluciones empresariales de la más alta gama. Todo esto es posible gracias a las características de Magento. Para explicar todo lo que tiene Magento necesitamos mucho tiempo, terminaríamos antes buscando qué no tiene. Pero también encontrar qué no tiene va a ser difícil porque Magento es todo un referente mundial de las soluciones eCommerce existentes. Un poco de historia Nació como proyecto de código abierto en el 2007. Ya en el 2008 […]


Magento: Recuperando contraseñas y el modelo de datos EAV

Ya estoy de nuevo por aquí frikeando un poco con el software. Estoy en estos días poniéndome al día con Magento. Es la gran solución de Código Libre para trabajar de forma económica montando una web. Entre las tres principales soluciones es la que de momento ostenta la primera posición, la segunda viene a ser Prestashop y la tercera WooCommerce. Estoy hablando de las soluciones económicas, Open Source, PHP, robustas y estables. Ya si nos centramos sólo en España veremos que el despunte de tiendas online es para Prestashop. Espero no equivocarme con los datos, los puedes comprobar rápidamente haciendo un par de búsquedas y dejar un comentario abajo para corregir. Situación Resulta que tenemos entre manos ahora un Magento, pero no podemos entrar al panel de administración que lo tenemos en: https://nombredominio.com/index.php/admin Pero sí que tenemos acceso a la base de datos. Es imprescindible tenerlo porque si no entonces […]


Sylius.org tienda online 100% Symfony: calidad, flexibilidad y escalabilidad

Brutal el proyecto que están desarrollando en Sylius. Navegando y navegando por proyectos para hacer tiendas online. Viendo las principales opciones del mercado: Magento, Prestashop y WordPress con WooCommerce. Me planteaba la opción de cómo sería desarrollar una tienda completa en Symfony. Integrar pasarelas de pago, métodos de envío, ordenando todo los productos por categorías, valores, atributos de los productos.. es un trabajazo. Pero por otro lado no quería prescindir de la flexibilidad y agilidad que nos da un buen framework PHP, en este caso el gran Symfony. Aterrizaje Todas estas búsquedas me llevaron a encontrar Sylius. Lo que hasta ahora es el proyecto de tienda online basado en Symfony que me ha parecido más interesante. A fecha en que escribo está en fase de desarrollo aunque hay quien ya lo está utilizando. Aquí el repositorio público de la aplicación web:https://github.com/Sylius/Sylius Página principal del proyecto:http://sylius.org/ Se trata de un proyecto […]