Mostrar phtmls y bloques usados en el skin de backend de Magento

Pequeño truco para cuando necesiten detectar algo en el backend.

Existe una funcionalidad en Magento que nos permite mostrar qué archivos phtml e incluso qué bloques son invocados en cada pantalla. El detalle con esto es qué sólo puede configurarse para el frontend.

Por si alguno no se ha dado cuenta, me refiero al template path hints. Vamos a refrescar cómo habilitarlas para el frontend.

Primero, tenemos que ir a Sistema -> Configuración. Ahí tenemos que cambiar el alcance de la configuración.

Selección del alcance de configuraciones en Magento

Recuerden que éstas opciones sólo funcionan a nivel de store view, por lo cual será necesario hacer un pequeño cambio.

Seleccionamos el store view al cual vamos a aplciarle el cambio

Ahora si, buscamos las opciones de desarrollo. (Se encuentran al final de la columna)

Opciones para desarrollo de Magento

Continue reading

Debuggear Php en la consola de Firebug

A lo que ya hemos visto sobre el uso de la consola de Firebug, vamos a sumar una segunda extensión (siempre para Firefox), que nos va a permitir aprovechar la consola no sólo para Javascript, sino también para Php.

Esto lo vamos a lograr gracias a FirePHP, que funciona integrándose sobre Firebug, y se compone de dos elementos:

Una vez que hayas instalado la extensión, bajamos la librería (con soporte para Php 4 y 5) y la incluimos en nuestro proyecto.

Continue reading

Debuggeando Javascript con Firebug

Más allá de preferencias personales por un navegador u otro (no es el tema del post), desde la aparición de Firebug como extensión de Firefox, para la mayoría de los que desarrollamos para plataformas web, no queda duda alguna de cuál es el navegador a usar.

Tampoco es la idea hablar sobre las bondades de dicha extensión, sino, focalizarnos sobre una de sus herramientas: la consola.

Habitualmente, cuando estamos armando nuestras funciones de javascript (ya sea que usemos algún framework o no), solemos aplicar la forma más básica para conocer el valor de una variable: la función alert.

<script type='text/javascript'>
alert('Mensaje de prueba');
</script>

Con éste método, además de tener cierto margen de error, podemos encontrarnos con pruebas que pueden tornarse casi insoportables.

A partir de ahora, y gracias al uso de la consola de Firebug, vamos a poder mejorar nuestras pruebas y nuestro control en el flujo de nuestros scripts.

El objeto console posee varios métodos. En éste post vamos a concentrarnos en aquellos que nos ayudarán a mejorar nuestras posibilidades de debug.

Como decía, los métodos disponibles para obtener los valores de variables o strings, son:

  • console.log: imprime el valor que hayamos indicado como parámetro.
  • console.info: imprime el valor, agregando representación visual y un link a la línea del código en donde fue invocada la función.
  • console.debug: imprime el valor, agregando el link a la línea del código en donde fue invocada la función.
  • console.warn: imprime el valor, agregando representación visual y un link a la línea del código en donde fue invocada la función.
  • console.error: imprime el valor, agregando representación visual y un link a la línea del código en donde fue invocada la función.

Continue reading

Debuggear variables dentro de Magento

Post breve, pero que aporta algo de ayuda al momento de tener que lidiar con las variables de Magento, ya sea dentro de un bloque o dentro de un phtml.

Para los que trabajamos con la plataforma, debería estar claro que el código y estructura de Magento funciona por sobre la del Zend Framework.

Dentro del framework, tenemos disponible una clase con un método estático que nos puede ayudar y simplificar el debug en Php.

La clase es Zend_Debug, y el método en cuestión se llama dump.

En el caso de Magento, podemos encontrar el archivo en:

/lib/Zend/Debug.php

La forma de invocar a ésta función es realmente sencilla. No importa en qué parte del código se encuentren, basta con escribir lo siguiente:

<?php
Zend_Debug::dump($variable);
?>

Si quieren ampliar o formalizar la explicación de ésta clase, pueden darse una vuelta por la documentación oficial de Zend sobre la clase Zend_Debug.

Mostrar los bloques html en el frontend de Magento

La forma en que se aplican las plantillas en Magento puede resultar, en primera instancia, bastante abrumadora. Para aquellos que ya hayan implementado plantillas en algún desarrollo, puede que les resulte bastante más sencillo.

Hasta ahora, ya vimos cómo se organizan los skins dentro de la aplicación. Ya teniendo ese punto en claro, vamos a empezar a modificar y tratar de crear nuestro propio skin.

Dada la cantidad de plantillas que se involucran en cada página, es muy recomendable activar el debug de plantillas para el frontend.

Como se trata de un tema de configuración, vamos a ir a Sistema -> Configuración.

Una vez en el módulo, elegimos la última opción, que apunta a los temas referidos al desarrollo.

Continue reading