Usando Plugins en Magento2

Plugins en Magento2

Si asististe a Meet Magento Argentina seguramente me escuchaste hablar acerca de los plugins y de su rol protagónico en la customización de Magento 2.

En caso de no haber asistido, primero te recomiendo que no te pierdas la próxima edición de Meet Magento Argentina, y segundo te adelanto que los plugins van a ser tu comodín a la hora de customizar Magento.

 

El pasado de las customizaciones del core de Magento

Como todos los lectores del blog saben, en caso de querer customizar un método del core de Magento, tenemos que “extender” la clase del core para poder de esa forma introducir el cambio para el método en nuestra propia extensión.

En otras palabras, si queremos customizar cualquier clase ubicada en app/code/core/Mage/, tenemos que extender la clase en nuestra extensión ubicada en app/code/community/ o /app/code/local/ (dependiendo del caso, según la extensión sea para Magento Connect o para distribución en un proyecto privado).

Sigue leyendo

Magento 1.9.3.1 (chapa y pintura a nuevos)

Magento CE 1.9.3.1

Tal como se se había anunciado hace unas semanas (y tal como se sospechara al día siguiente del lanzamiento de la versión 1.9.3.0), hoy se publicó la versión 1.9.3.1 de Magento CE (y la versión 1.14.3.1 de la versión EE).

Como ya estamos acostumbrados, a través de un escueto mensaje por Twitter y un mail que en esta oportunidad si me llegó, nos enteramos del lanzamiento y del link del changelog.

Sigue leyendo

Cómo recuperar tu contraseña de usuario en Magento2

¿Dónde está mi auto?

¿A quién no le pasa que cada tanto se olvida de una contraseña?. ¿Y si te pasa en un entorno que no envía emails?

En Magento2, para resetear la contraseña ya no nos alcanza con entrar en la base de datos y ejecutar algo como esto:

UPDATE admin_user SET password = md5('mi_nueva_contrasñea') WHERE user_id = 1; -- O el id que fuera

No, en Magento2, dado la forma en que se guarda la contraseña ahora, no podríamos usar solo SQL. La forma más sencilla y efectiva es usar la consola.

Sigue leyendo

Cómo crear un cronjob en Magento2

Cronjobs en Magento2

Ya que estábamos con la consola, vamos a aprovechar para armar nuestro primer cronjob (de juguete) en Magento2.

Para no perder la sana costumbre, vamos a comenzar por definir nuestro cronjob a través de un xml dentro de etc (en nuestro módulo).

/etc/crontab.xml

Y el contenido podría ser:

< ?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Cron:etc/crontab.xsd">
    <group id="default">
        <job name="sampleModuleCron" instance="Barbanet\SampleModule\Cron\Sample" method="execute">
            <schedule>* * * * *</schedule>
        </job>
    </group>
</config>

¿Qué significa todo eso?

  • group_name: nombre del grupo al cual pertenece el cronjob (más adelante veremos las implicancias de esto). Este valor no tiene por qué ser único.
  • job_name: el identificador único de la tarea.
  • classpath: la clase que se va a instanciar.
  • method: el método de la clase que se va a ejecutar.
  • schedule: es la expresión cron del momento en el cual será ejecutada la tarea (aunque sobre este tema, también volveremos más adelante).

Sigue leyendo